晴天下的大头娃娃

用灵活的小手敲出好听的代码,巴扎黑~

第13周阅读程序(2)

问题及代码

/*
*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;
}


运行结果:

 

学习心得:

解析写在代码里面。

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

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34216631/article/details/51563509
上一篇第13周阅读程序(1)
下一篇第13周阅读程序(3)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭