#include <iostream>
using namespace std;
class A
{
public:
A()
{
m_nMax = 50;
m_pBuffer = new char[m_nMax];
cout << "A()"<<endl;
}
~A()
{
if(m_pBuffer)
{
delete m_pBuffer;
m_pBuffer = NULL;
cout << "~A()"<<endl;
}
}
protected:
char *m_pBuffer;
int m_nMax;
};
class B : public A
{
public:
B()
{
m_nMax = 100;
m_pBuffer = new char[m_nMax];
cout << "B()"<<endl;
}
~B()
{
if(m_pBuffer)
{
delete m_pBuffer;
m_pBuffer = NULL;
cout << "~B()"<<endl;
}
}
protected:
char *m_pBuffer;
int m_nMax;
};
void main()
{
A *a = new B();
delete a;
B *b = new B();
delete b;
}
A()
B()
~A()
A()
B()
~B()
~A()
请按任意键继续. . .
【2013 中科大洋 笔试】父类指针指向子类--delete父类时。。。。。析构,构造。
最新推荐文章于 2023-11-22 16:55:31 发布