第12周-程序阅读-多态性与抽象类-虚析构函数
来源:互联网 发布:mac用搜狗输入法 编辑:程序博客网 时间:2024/05/21 11:04
问题及代码:
#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; }
运行结果:
知识点总结:
虚析构函数。
学习心得:
1. 一般来说,如果一个类要被另外一个类继承,而且用其指针指向其子类对象时,如题目中的A* d = new B();(假定A是基类,B是从A继承而来的派生类),那么其(A类)析构函数必须是虚的,否则在delete d时,B类的析构函数将不会被调用,因而会产生内存泄漏和异常;
2. 在构造一个类的对象时,先构造其基类子对象,即调用其基类的构造函数,然后调用本类的构造函数;销毁对象时,先调用本类的析构函数,然后再调用其基类的构造函数;
0 0
- 第12周-程序阅读-多态性与抽象类-虚析构函数
- 第12周-程序阅读-多态性与抽象类-虚函数
- 第12周-程序阅读-多态性与抽象类-纯虚函数
- 第13周 《C++语言基础》程序阅读——多态性与抽象类 (1)
- 第13周 《C++语言基础》程序阅读——多态性与抽象类 (2)
- 第13周 《C++语言基础》程序阅读——多态性与抽象类 (3)
- 第13周 《C++语言基础》程序阅读——多态性与抽象类 (4)
- 第13周多态性与虚函数程序阅读
- 读书笔记--C++程序设计(第2版)--12多态性与虚函数(虚析构函数,纯虚函数与抽象类)
- 《C++语言基础》程序阅读——多态性与抽象类
- 多态性,虚函数与抽象类
- 第13周 程序阅读-虚析构函数
- 第13周实验报告1 :虚函数、多态性和抽象类的理解
- 2013级C++第14周(春)项目——多态性、虚函数和抽象类
- 多态性 虚函数 抽象类
- 第十三周任务一(通过程序分析理解虚函数, 多态性和抽象类)
- 虚函数,虚析构函数,纯虚函数,多态性,抽象类。
- 多态性(纯虚函数与抽象类)
- POJ 3349 解题报告
- [GIT]git创建及其使用心得
- java垃圾回收gc算法
- iphone开发技术要学习的内容
- 测试之新生入学系统,多一份收获
- 第12周-程序阅读-多态性与抽象类-虚析构函数
- numpy库
- C++中智能指针的工作原理和简单实现
- C++ 类型信息获取 RTTI traits nest 大杂烩
- [乐意黎原创] 2014年全国和云南省中级会计师成绩、分数段、过关率及年龄段统计分析
- NYOJ 655 光棍的yy(大数斐波那契数列)
- const变量详解及与define宏定义的区别
- ReactiveCocoa框架菜鸟入门(四)——信号(Signal)详解
- js中eval详解