zoukankan      html  css  js  c++  java
  • 子类中调用构造函数和析构函数的顺序

    class A{
    public:
    	A(){ cout << "this is A" << endl; }
    	~A(){ cout << "delete A" << endl; }
    };
    class B{
    public:
    	B(){ cout << "this is B" << endl; }
    	~B(){ cout << "delete B" << endl; }
    };
    class C :public B, A {
    public:
    	~C(){ cout << "delete C" << endl; }
    	C(){ cout << "this is class C" << endl; }
    };
    int main()
    {
    	C temp;
    	return 0;
    }
    

    运行结果为:

    this is B
    this is A
    this is class C
    delete C
    delete A
    delete B

    1、C调用B,A的顺序是 由继承中声明的顺序决定的。

      public B ,A;  // 决定了先构造B,然后A

    2、先调用父类的构造函数,然后再调用子类的构造函数

    3、析构时先析构子类,再析构父类

  • 相关阅读:
    fastjson-alibaba
    ubuntu 入门
    资料文档
    asp.net mvc View视图相关
    视频
    js第三方
    工具类网址
    [转]初学者的编程自学指南
    seajs的使用--主要了解模块化
    其它
  • 原文地址:https://www.cnblogs.com/NeilZhang/p/6483453.html
Copyright © 2011-2022 走看看