64,662
社区成员
发帖
与我相关
我的任务
分享
class Base{
public:
int m_a;
Base(int a = 2):m_a(a){printf("A %d",m_a);}
virtual ~Base() {printf("B %d",m_a);}
};
class Derived : public Base {
public:
Derived (int a = 4):Base(a){printf("C %d",m_a);}
~Dwrived (){printf("D %d",m_a);}
};
int main()
{
Base *aa,bb;
aa =new Derived;
delete aa;
return 0;
}
class Base{
public:
int m_a;
Base(int a = 2):m_a(a){printf("A %d",m_a);}
virtual ~Base() {printf("B %d",m_a);}
};
class Derived : public Base {
public:
Derived (int a = 4):Base(a){printf("C %d",m_a);}
~Derived (){printf("D %d",m_a);}
};
int main()
{
Base *aa,bb;
aa =new Derived;
delete aa;
return 0;
}
//记住:构造是先从父类开始构造,再到子类,析构以相反的方向析构!
#include <cstdio>
Base *aa, bb;
aa = new Derived;
delete aa;