探讨这一块的内容,理论就不在叙述了,以例子进行说明:
代码:
ngnsvr9 [** NONE **]/home/xionghailong/c++/boy $ ls
boy.cpp boy.cpp.bak
ngnsvr9 [** NONE **]/home/xionghailong/c++/boy $ cat boy.cpp
#include<iostream>
using namespace std;
class person
{
public:
person() {cout<<"person constructor"<<endl;}
~person() {cout<<"person destructor"<<endl;}
};
class boy: public person
{
public:
boy() {cout<<"boy constructor"<<endl;}
~boy() {cout<<"boy destructor"<<endl;}
};
int main()
{
boy Boy;
}
编译:
ngnsvr9 [** NONE **]/home/xionghailong/c++/boy $ g++ boy.cpp
ngnsvr9 [** NONE **]/home/xionghailong/c++/boy $ ls
a.out boy.cpp boy.cpp.bak
生产可执行文件a.out
执行:
ngnsvr9 [** NONE **]/home/xionghailong/c++/boy $ ./a.out
person constructor
boy constructor
boy destructor
person destructor
总结:
执行顺序:父类的构造函数 子类的构造函数 子类的析构函数 父类的析构函数
希望对大家有所帮助!