定义基类BaseClass,并派生出派生类DerivedClass;在BaseClass中声明虚析构函数;在主函数中将动态分配的Derived对象地址赋给一个Base指针
发布时间
阅读量:
阅读量
题目:
编写程序时,首先定义一个基类BaseClass,并由此派生出DerivedClass类。在BaseClass中声明虚析构函数,随后在主函数中将动态分配的Derived类对象的地址赋值给一个BaseClass类型的指针,之后通过该指针释放对象所占用的内存空间,观察程序执行时的行为。接下来,将BaseClass中的析构函数改为非虚函数,再次运行程序并观察此时程序的执行过程。
非虚析构函数
#include <iostream>
using namespace std;
class BaseClass{
public:
BaseClass(){cout<<"construct BaseClass"<<endl;}
~BaseClass(){ cout<<"destruct BaseClass"<<endl;}
};
class Derived:public BaseClass{
public:
Derived(){ cout<<"construct DerivedClass"<<endl;
}
~Derived(){cout<<"destruct DerivedClass"<<endl;}
};
全部评论 (0)
还没有任何评论哟~
