记录遇到过的一个坑:C++基类析构函数被错误地写成虚函数
发布时间
阅读量:
阅读量
之前写了一个C++的程序,类似于是这样的框架:
#include<iostream>
using namespace std;
class BaseClass{
public:
virtual void output(){
cout<<"BaseClass"<<endl;
}
};
class DerivedClass:public BaseClass{
public:
virtual void output(){
cout<<"DerivedClass"<<endl;
}
};
int main(){
BaseClass *p=new DerivedClass();
p->output();
delete p;
return 0;
}
在编译过程中遇到了这样一个 warning;删除具有非虚构造器的对象可能会导致不确定的行为
简而言之,在我的代码中我创建了一个子类实例,并通过基类指针引用该子类实例。当我对基类对象执行delete操作时会触发一个警告信息。这表明BaseCla
全部评论 (0)
还没有任何评论哟~
