1 class A 2 { 3 private: 4 int a; 5 int b; 6 int* c; 7 public: 8 A() 9 :a( 0 ) 10 { 11 b=2; 12 c=&b; 13 } 14 A(int n) 15 :a( n ) 16 { 17 b=2; 18 c=&b; 19 } 20 void print() 21 { 22 cout<<"a="<<a<<endl<<"b="<<b<<endl; 23 } 24 void add() 25 { 26 a++; 27 (*c)++; 28 } 29 }; 30 31 int _tmain(int argc, _TCHAR* argv[]) 32 { 33 //注意,以下浅层复制中的指针都将共用aa对象的指针资源。 34 A aa(1); //显式构造aa 35 A bb(2); //(1)显式构造bb 36 bb= aa; //注意,类对象可以直接用=复制,浅层复制 37 aa.print(); 38 bb.add(); 39 aa.print (); 40 41 A cc; //(2)默认构造cc 42 cc=aa; //浅层复制 43 cc.print(); 44 45 A dd=aa; //(3)注意,浅层复制,这里dd将不会调用构造函数 46 dd.print(); 47 dd.add(); 48 dd.print(); 49 aa.print(); 50 51 getchar(); 52 return 0; 53 }