您的位置:首页 > 编程语言 > C语言/C++

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++将源对象的每个数据成员复制到目标对象中相应的数据成员中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: