Download presentation
Presentation is loading. Please wait.
Published byJillian Bowley Modified over 9 years ago
1
Introduction to Programming Lecture 39
2
Copy Constructor
3
Review Pointers Pointers References References Memory Allocation Memory Allocation
4
Pointers A pointer is a special type of variable that contain a memory address
5
Void Pointer Void Pointer Pointer to an Integer Pointer to an Integer Pointer to a Character Pointer to a Character Pointer to a Float Pointer to a Float Pointer to Objects Pointer to Objects
6
References
7
&
8
const
9
Dynamic Memory Allocation
10
Native Operator new new delete delete
11
int *p ; p = new int ; delete p ; Dynamic Memory Allocation
12
int *p ; p = new int [ 10 ] ; delete [ ] p ; Dynamic Memory Allocation
13
class Matrix { private : int * m ; int row, col ; public : Matrix ( int rows, int cols ) Matrix ( int rows, int cols ) { m = new int [ rows * cols ] ; } } ; Example
14
delete [ ] m ;
15
Assignment
16
int i = 0 ; //Initialization int i ; i = 0 ; //Assignment
17
Matrix m1, m2 ; …… m2 = m1 ; m2 = m1 ; //Assignment Statement
18
Member to Member Assignment
19
m2 = m1
20
0xefffdad0 mx Pointing to the same region in memory int *m of m1 0xefffdad0 int *m of m2
21
0xefffdad0 mx Pointing to the same region in memory int *m of m1 0xefffdad0 int *m of m2
22
Copy Constructor
23
Call by value
24
Deep Copy Shallow Copy
25
Matrix ( Matrix & ) ;
26
Example class String { char * c ; char * c ; public : public : void copy ( char * s ) ; String ( char * data ) ; void print ( ) ; // etc. // etc. } ;
27
Example String s1 ( “test1” ) ; String s2 = s1 ; s1.copy ( “this is a test” ) ; s2.print ( ) ;
28
int i ; i = 10 ; i = i ;
29
Matrix m2 ( m1 ) ; Matrix m2 = m1 ;
30
Rules For dynamic memory allocation 1. Define copy constructor 2. Write assignment operator 3. Provide destructor
31
What have we covered today Review of pointers Review of pointers –Dynamic memory allocation new new Delete Delete For memory allocation in classes we must provide For memory allocation in classes we must provide –Constructor –Copy constructor –Assignment operator –destructor
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.