指针的情况
class Test{
public:
int a;
Test(){
a = 1;
}
};
int main()
{
Test* t1 = new Test();
t1->a = 10;
Test* t2 = new Test();
t2->a = 5;
cout << "&t1:" << t1 << " a = " << t1->a << endl;
cout << "&t2:" << t2 << " a = " << t2->a <<endl;
cout << "------------------------------" << endl;
t2 = t1;
cout << "&t1:" << t1 << " a = " << t1->a << endl;
cout << "&t2:" << t2 << " a = " << t2->a <<endl;
cout << "------------------------------" << endl;
t1->a = 111;
t2->a = 222;
cout << "&t1:" << t1 << " a = " << t1->a << endl;
cout << "&t2:" << t2 << " a = " << t2->a <<endl;
return 0;
}
对象的情况:
class Test{
public:
int a;
Test(){
a = 1;
}
};
int main()
{
Test t1;
t1.a = 10;
Test t2;
t2.a = 5;
cout << "&t1:" << &t1 << " a = " << t1.a << endl;
cout << "&t2:" << &t2 << " a = " << t2.a <<endl;
cout << "------------------------------" << endl;
t2 = t1;
cout << "&t1:" << &t1 << " a = " << t1.a << endl;
cout << "&t2:" << &t2 << " a = " << t2.a <<endl;
cout << "------------------------------" << endl;
t1.a = 111;
t2.a = 222;
cout << "&t1:" << &t1 << " a = " << t1.a << endl;
cout << "&t2:" << &t2 << " a = " << t2.a <<endl;
return 0;
}
记住:在默认情况下,将一个对象赋给同类型的另外一个对象时,C++将源对象的每个数据成员复制到目标对象中相应的数据成员中