您的位置:首页 > 其它

第13周-阅读程序(2)虚析构函数

2016-06-20 13:55 155 查看
//

.*Copyright(c) 2016.烟台大学计算机与控制工程学院

.*ALL rights  reserved.

.*文件名称:main.cpp

.*作者:李鑫

.*完成日期:2016年6月20日

.*问题描述:阅读有关虚析构函数的程序,写出运行结果。

.*//

 

#include<iostream>
using namespace std;
class Base
{
private:
char c;
public:
Base(char n):c(n) {}
virtual ~Base()
{
cout<<c;
}
};
class Derived:public Base
{
private:
char c;
public:
Derived(char n):Base(n+1),c(n) {}
~Derived()
{
cout<<c;
}
};
int main()
{
Derived d('X');
return 0;

}

==>



总结:

先执行基类的构造函数,基类中的c变为Y,再执行派生类中的构造函数,派生类中的c变为X,但是由于基类中的构造函数为虚析构函数,所以要先执行派生类中的析构函数再执行基类中的构造函数,所以输出结果为:XY。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: