C++ 类对象和 指针的区别

来源:互联网 发布:网络链接推广 编辑:程序博客网 时间:2024/06/06 07:19

指针的情况

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++将源对象的每个数据成员复制到目标对象中相应的数据成员中



至于不同之处,自己打印..........