加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在C++中子类继承和调用父类的析构函数技巧

发布时间:2021-12-10 17:30:40 所属栏目:PHP教程 来源:互联网
导读:派生类的析构函数的功能是在该对象消亡之前进行一些必要的清理工作,析构函数没有类型,也没有参数。析构函数的执行顺序与构造函数相反。 代码1: #include using namespace std; class A { public: A(int i) { cout 构建 A i endl; } A() { cout 构建 A endl
派生类的析构函数的功能是在该对象消亡之前进行一些必要的清理工作,析构函数没有类型,也没有参数。析构函数的执行顺序与构造函数相反。
 
代码1:
 
#include
using namespace std;
class A
{
public:
    A(int i)
    {
        cout << "构建 A " << i << endl;
    }
    A()
    {
        cout << "构建 A "<< endl;
    }
    ~A()
    {
        cout << "析构 A" << endl;
    }
};
class B
{
public:
    B(int i)
    {
        cout << "构建 B " << i << endl;
    }
    B()
    {
        cout << "构建 B " << endl;
    }
    ~B()
    {
        cout << "析构 B" << endl;
    }
};
class C
{
public:
    C(int i)
    {
        cout << "构建 C " << i << endl;
    }
    C()
    {
        cout << "构建 C " << endl;
    }
    ~C()
    {
        cout << "析构 C" << endl;
    }
};
class D
{
public:
    D()
    {
        cout << "构建 D "<< endl;
    }
    ~D()
    {
        cout << "析构 D" << endl;
    }
};
class E:public D,public C,public A,public B
{
private:
    A n1;
    B n2;
    C n3;
    D n4;
public:
    E(int a, int b, int c, int d) :A(a), B(c), C(b)
    {
        cout << "构建 E " << d << endl;
    }
    ~E()
    {
        cout << "析构 E" << endl;
    }
};
void example()
{
    E a(1, 2, 3, 4);
}
int main()
{
    example();
    system("pause");
}

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读