65,187
社区成员




A *pA = new B();
delete A;
A = NULL;
#include <iostream>
class CBase
{
public:
~CBase()
{
printf("CBase destruct\n");
}
virtual void PrintInfo() = 0;
};
void CBase::PrintInfo()
{
printf("this is a pure virtual function\n");
}
class CDerived : public CBase
{
public:
~CDerived()
{
printf("CDerived destruct\n");
}
void PrintInfo()
{
printf("this is a derived overide function\n");
CBase::PrintInfo();
}
};
void TestPureVitualFunc()
{
CBase *pB = new CDerived();
pB->PrintInfo();
delete pB;
pB = NULL;
}