派生类的析构器

来源:互联网 发布:搜狐影音 mac 编辑:程序博客网 时间:2024/06/10 12:47

派生类的析构器

#include "stdafx.h"#include <iostream>using namespace std;#if 0派生类的析构函数的功能是在该对象消亡之前进行一些必要的清理工作,析构函数没有类型,也没有参数。析构函数的执行顺序与构造函数相反析构顺序:子类->成员->基类无需指明析构关系因为析构函数只有一种,无重载,无默参#endifclass A{public:A(){cout << "A()" << endl;}~A(){cout << "~A()" << endl;}};class Base{public:Base(){cout << "Base()" << endl;p = new char[100];}~Base(){cout << "~Base()" << endl;delete p;}private:char* p;};class Derive:public Base{public:Derive(){cout << "Derive()" << endl;q = new char[200];}~Derive(){cout << "~Derive()" << endl;delete q;}private:A a;char* q;};int _tmain(int argc, _TCHAR* argv[]){Derive d;return 0;}