关于内存泄漏,多态,继承~~~~~~~~~~~~~~~~~~~
#include <list>
using namespace std;
class A
{
public :
virtual void Print(){ printf("A::Print()\n");};
int i;
int j;
};
class B:public A
{
public :
void Print(){ printf("B::Print()\n");};
int m;
int n;
};
list<A*> l;
void fun()
{
A* b=new B();
l.push_back(b);
}
int main()
{
fun();
(*l.begin())->Print();
delete (*l.begin()); ///----->>会引起潜在的内存泄漏么?
return 0;
}
PS:虚拟继承的时候,使用基类指针指向子类,这样会删除一部分多余的部分。
这个时候delete这个父类指针,会不会引起潜在的内存泄漏呢?