4个回答
展开全部
自动调用不需要管
除非一种情况
基类指针指向的是子类的对象,然后delete 基类指针,这种情况需要将基类的析构声明成虚函数
virtual ~XXX()
除非一种情况
基类指针指向的是子类的对象,然后delete 基类指针,这种情况需要将基类的析构声明成虚函数
virtual ~XXX()
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
派生类对象在生命周期结束后先调用自己的析构函数,然后会自动掉基类的析构函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
class A{
public:
~A() {std::cout<<"A";}
};
class B:public A{
public:
friend class A;
~B() {A::~A();}
};
int main(void)
{
B a;
}
声明为友元类,B的析构函数调用A的析构函数
class A{
public:
~A() {std::cout<<"A";}
};
class B:public A{
public:
friend class A;
~B() {A::~A();}
};
int main(void)
{
B a;
}
声明为友元类,B的析构函数调用A的析构函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
class A{
public:
~A() {std::cout<<"A";}
};
class B:public A{
public:
friend class A;
~B() {A::~A();}
};
int main(void)
{
B a;
class A{
public:
~A() {std::cout<<"A";}
};
class B:public A{
public:
friend class A;
~B() {A::~A();}
};
int main(void)
{
B a;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询