第13周-阅读程序(2)虚析构函数
2016-06-20 13:55
155 查看
//
.*Copyright(c) 2016.烟台大学计算机与控制工程学院
.*ALL rights reserved.
.*文件名称:main.cpp
.*作者:李鑫
.*完成日期:2016年6月20日
.*问题描述:阅读有关虚析构函数的程序,写出运行结果。
.*//
==>
总结:
先执行基类的构造函数,基类中的c变为Y,再执行派生类中的构造函数,派生类中的c变为X,但是由于基类中的构造函数为虚析构函数,所以要先执行派生类中的析构函数再执行基类中的构造函数,所以输出结果为:XY。
.*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。
相关文章推荐
- 阅读笔记3-FCNT:Visual Tracking with Fully Convolutional Networks
- 删除单链表中的重复节点(删除重复项)
- java 导出Excel 大数据量(一)
- ajax get 的写法
- Linux Ubuntu 内核升级
- poj 2236 并查集水题
- gen already exists but is not a source folder. Convert to a source folder or rename it
- 欢迎使用CSDN-markdown编辑器
- Activity生命周期
- LXT6架构-ARM公司GPU系列性能变迁(2016版)
- Intellij IDEA 配置 JavaWeb开发环境(Tomcat 配置)
- PE中的配置文件定义
- EasyUI datetimebox 时间格式化
- CodeForces 682C Alyona and the Tree 搜索
- iOS—简单封装UITableView使用1
- 从租售比看中国房价的合理性
- hdu 1021 Fibonacci Again
- 导入maven不能选择install而应该选择Imort-Maven-Existing maven projects
- 算法基础-最大公约数
- 职场感悟一