注册 登录
编程论坛 C++教室

关于析构函数 调用的问题,希望哪位可以指点迷津

xiaojunlaiye 发布于 2008-04-16 15:51, 708 次点击
用new 定义了一个类
然后再类里面又动态定义了一个类

class aaaa
{
    public:
        aaaaaa(){};
        ~aaaaa(){};
    private:
        bbbb  m_bbbb ;
        
}
class bbbb
{
    public:
        bbbb(){};
        ~bbbb(){};
}

main()
{
    
        while(1)
         {
            aaaa *m_aaaa = new aaaa ;
            ......
        }
}

那类bbbb的析构函数什么时候才调用? 必须销毁aaaa的内存才能调用bbbb的析构函数,即得最后执行delete m_aaaa 时候才能调用bbbb的构造函数吗
3 回复
#2
中学者2008-04-16 16:16
析构顺序(且有析构函数):
  派生类 --> 成员类(与声明次序相反) --> 基类(与声明次序相反) --> 虚基类(与声明次序相反)
#3
herolzx2008-04-17 08:47
顺序是:
 1、bbbb();
 2、aaaaaa();
 3、~aaaaa();
 4、~bbbb();
#4
树上的番茄2008-04-28 22:36
LZ的正解
1