这样会内存泄漏吗?欢迎讨论
用一个基类指针创建一个派生类对象(派生类比基类大),然后再删除这个基类指针的操作会造成内存泄漏吗。
Sample Code:
#include "iostream.h"
class CBase
{
public:
~CBase(){cout<<"quit base...."<<endl;};
int i;
int j;
};
class CChildClass : public CBase
{
public:
~CChildClass(){cout<<"quit child...."<<endl;};
float f;
};
int main(int argc, char* argv[])
{
CBase *p = NULL;
p = new CChildClass;
p->i = sizeof(CBase);
p->j = sizeof(CChildClass);
((CChildClass*)p)->f = 0.0001;
delete p; //会造成内存泄漏吗?
printf("Hello World!\n");
return 0;
}