C++中成员变量 父类 子类构造析构顺序
来源:互联网 发布:备份短信软件 编辑:程序博客网 时间:2024/05/29 07:36
c++中对象都是先构造成员变量,再调用自身的构造函数;故父类成员变量首先被构造,然后调用父类的构造函数,再构造子类的成员变量,最后调用子类的构造函数。
对象析构时与构造顺序相反,子类先调用自身的析构函数,再调用子类成员变量的析构函数,再调用父类的析构函数,再析构父类的成员变量。
测试代码如下:
#include <iostream>
using namespace std;
class Test
{
public:
Test()
{
cout<<"this is Basetest construction"<<endl;
}
~Test()
{
cout<<"this is Basetest destruction"<<endl;
}
};
class Test2
{
public:
Test2()
{
cout<<"this is SonTest Construction"<<endl;
}
~Test2()
{
cout<<"this is SonTest Destruction"<<endl;
}
};
class Base
{
public:
Base()
{
cout<<"this is Base construction"<<endl;
}
~Base()
{
cout<<"this is Base Destructior"<<endl;
}
Test a;
};
class Son:public Base
{
public:
Son()
{
cout<<"this is Son construction"<<endl;
}
~Son()
{
cout<<"this is Son Destruction"<<endl;
}
Test2 a;
};
int main()
{
//Base a;
Son test;
}
- C++中成员变量 父类 子类构造析构顺序
- C++中成员变量 父类 子类构造析构顺序
- 子类、父类、静态成员变量,构造函数的执行顺序
- 基类构造析构函数、子类构造析构函数和子类成员变量构造析构函数的调用顺序
- [C#]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- [C#]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- [C++]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题a静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题
- java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题
- java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题
- java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题
- java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题
- java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题
- java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题
- c++对象成员变量的构造和析构顺序
- 多态时子类父类构造器,成员变量及方法的调用顺序。
- java中 静态成员、实例成员、构造方法在子类和父类中的执行顺序
- 有父类的子类实例化时,子类与父类的成员变量,构造函数,代码块的执行顺序
- apache的80端口被占用
- CyclicBarrier
- iReport部署到Linux系统字体问题
- 安卓设置EditText获得焦点时不显示输入法
- svn switch user
- C++中成员变量 父类 子类构造析构顺序
- 设计模式之(二)——抽象工厂模式
- alias命令使用
- Android drawable文件夹的使用
- UVA - 562 - Dividing coins (01背包)
- 初探验证码识别
- Android Studio 引入project后不能Gradle出错
- BZOJ 1127 POI2008 KUP 单调队列
- 监控一个集群