C++ 类对象和 指针的区别
2014-01-20 17:55
337 查看
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;
}
对象的情况:
[cpp] view
plaincopy
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++将源对象的每个数据成员复制到目标对象中相应的数据成员中
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;
}
对象的情况:
[cpp] view
plaincopy
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++将源对象的每个数据成员复制到目标对象中相应的数据成员中
相关文章推荐
- 解析C++普通局部变量与指针类型的对象变量的应用区别
- C++中类的对象和指针的区别理解
- C++中函数指针和函数对象的区别与联系
- C++ 类对象和 指针的区别
- C++引用、对象、和指针的区别
- C++ 类的对象和类的指针的区别
- 解析C++普通局部变量与指针类型的对象变量的应用区别
- [转]解析C++普通局部变量与指针类型的对象变量的应用区别
- c++ 普通全局变量与指针类型的对象变量 应用区别
- C++ 类对象和 指针的区别
- 解析C++普通局部变量与指针类型的对象变量的应用区别
- C++中类成员对象与指针的区别
- C/C++数组名与指针区别详解
- 详解C++值传递,指针传递,引用传递的区别
- C++ ------ 创建对象 new 和不 new 的区别
- C++ 中指针,指针的引用,指针的指针的区别
- More Effective C++:指针与引用的区别
- c++ 指针与引用的区别介绍及使用说明
- typeid()——c++中获取对象或指针类型
- C/C++数组名与指针区别深入探索(转载)