您的位置:首页 > 其它

派生类构造函数和析构函数的执行顺序

2014-03-05 12:47 801 查看
派生类继承了基类的成员,实现了代码的重复利用,但基类的构造函数和析构函数不能被继承。如果在派生类中需要对新增加的成员进行初始化,则需要加入派生类的构造函数。同样派生类也需要添加析构函数来实现一些结束工作。
当创建对象时,编译系统会自动调用构造函数。当撤销对象时,编译系统会自动调用析构函数。当创建派生类的对象时,首先执行基类的构造函数,然后执行派生类的构造函数。当撤销对象时,则先执行派生类的析构函数,然后再执行基类的析构函数。
例子:

#include"iostream.h"
class A //定义一个类
{
public:
A() //类的构造函数
{
cout<<"基类的构造函数"<<endl;
}
virtual ~A() //类的析构函数
{
cout<<"基类的析构函数"<<endl;
}
};
class B:public A //派生类
{
public:
B() //派生类的构造函数
{
cout<<"派生类的构造函数"<<endl;
}
~B() //派生类的析构函数
{
cout<<"派生类的析构函数"<<endl;
}
};
void main()
{
B p; //派生类的对象
}
输出:
基类的构造函数
派生类的构造函数
派生类的析构函数
基类的析构函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: