DestructorDescription
下面是不完整的继承类定义:class A
{
public:
virtual void Prin()
{
cout<<"Prin come form class A"<<endl;
}
};
class B
{
char *buf;
public:
void Prin()
{
cout<<"Prin come from class B"<<endl;
}
};
试完成其定义(你可以根据需要增加必要的构造函数、析构函数 ),使得主函数main运行后能得到其后结果:
void fun(A *a)
{
delete a;
}
int main()
{
A *a = new B(10);
a->Prin();
fun(a);
B *b = new B(20);
fun(b);
return 0;
}
运行结果:
Prin come fromclass B
B::~B()called
A::~A()called
B::~B()called
A::~A()called
Input
none
Output
none
Sample_Input
Sample_Ouput
Hint
virtualdestructor!
onlyneedtosubmitclassA, Bandmain()
#include<iostream>usingnamespacestd;
class A
{
public:
virtualvoid Prin()
{
cout<<"Prin come form class A"<<endl;
}
virtual ~A()
{
cout<<"A::~A()called"<<endl;
}
};
class B:public A
{
char *buf;
public:
B(int b=0)
{
}
B()
{
}
~B()
{
cout<<"B::~B()called"<<endl;
}
void Prin()
{
cout<<"Prin come from class B"<<endl;
}
};
void fun(A *a)
{
delete a;
}
int main()
{
A *a = new B(10);
a->Prin();
fun(a);
B *b = new B(20);
fun(b);
return0;
}
DestructorDescription 下面是不完整的继承类定义:class A{public:virtual void Prin(){cout&lt;&lt;"Prin come form class A"&lt;&lt;endl;}};class B{ char *buf;public: void Prin(){cout&lt;&lt;"...