关闭

第13周阅读程序(2)

71人阅读 评论(0) 收藏 举报

问题及代码

/*
*copyright (t) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:张晴晴
*完成日期:2016年6月2日
*版本号:v1.0
*问题描述:阅读程序--虚析构函数
*输入描述:
*程序输出:
*/


#include <iostream>
using namespace std;
class BASE
{
private:
    char c;
public:
    BASE(char n):c(n) {}
    virtual ~BASE() { cout<<c; }//析构掉BASE(Y),输出Y
};
class DERIVED:public BASE
{
private:
    char c;
public:
    DERIVED(char n):BASE(n+1),c(n) {}//执行这个函数是变成了两个对象
    ~DERIVED(){ cout<<c; }          //一个是 BASE(Y),一个是c(X)
};                                    //析构掉DERIVED,输出X
int main(){
    DERIVED d('X');//输入操作的字母是X
    return 0;
}


运行结果:

 

学习心得:

解析写在代码里面。

一个类的析构函数是虚函数,,那么由它派生而来的所有子类的析构函数也是虚函数。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:55160次
    • 积分:3235
    • 等级:
    • 排名:第11190名
    • 原创:272篇
    • 转载:4篇
    • 译文:0篇
    • 评论:12条
    最新评论