释放指向堆内派生类对象的基类指针,对象中原来在派生类中定义的变量的内存空间释放了吗?解决方案
释放指向堆内派生类对象的基类指针,对象中原来在派生类中定义的变量的内存空间释放了吗?
class A
{
int a;
};
class B : public A
{
int b;
};
void main()
{
A *p = new B;
delete p;
}
如此,对象中变量b所占的内存空间释放了吗?
------解决方案--------------------
忘记标准怎么说了,只是记得“条款”建议A的destructor需要是virtual的。
class A
{
int a;
};
class B : public A
{
int b;
};
void main()
{
A *p = new B;
delete p;
}
如此,对象中变量b所占的内存空间释放了吗?
------解决方案--------------------
忘记标准怎么说了,只是记得“条款”建议A的destructor需要是virtual的。