读书人

c++类成员析构顺序是如何样的

发布时间: 2012-02-28 13:06:34 作者: rapoo

c++类成员析构顺序是怎么样的?
c++类成员析构顺序是怎么样的?

按道理说是 :

1 成员先构造
2类自己再构造

析构的顺序是先2再1

但是我加打印怎么不是阿 ?



[解决办法]

C/C++ code
class Test{public:    Test()    {    }    ~Test()    {        cout<<"Test destructor"<<endl;    }};class Test1{public:    Test1()    {    }    ~Test1()    {        cout<<"Test1 destructor"<<endl;    }};class Test2{public:    Test2()    {    }    ~Test2()    {        cout<<"Test2 destructor"<<endl;    }private:    Test a;    Test1 b;};int main(){    Test2 *c=new Test2;    delete c;    system("pause");    return 0;}
[解决办法]
构造的时候 先 成员的 再自己的
如果有多个成员
按成员在类中的声明顺序而非初始化成员列表的顺序

析构和构造相反

读书人网 >C语言

热点推荐