-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtut34.cpp
47 lines (35 loc) · 818 Bytes
/
tut34.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Copy Constructor in C++
#include<iostream>
using namespace std;
class Number{
int a;
public:
Number(){
a = 0;
}
Number(int num){
a = num;
}
// When no copy constructor is found , compiler supplies its own copy constructor
Number(Number &obj){
cout<<"Copy constructor invoked !!! "<<endl;
a = obj.a;
}
void display(){
cout<<"The number for this object is "<<a<<endl;
}
};
int main(){
Number x,y,z(45),z2;
x.display();
y.display();
z.display();
Number z1(z); // Copy constructor invoked
z1.display();
z2 = z ; // Copy constructor not called
z2.display();
Number z3 = z; // Copy constructor invoked
z3.display();
// z1 should exactly resemble z or x or y.
return 0;
}