我对以下代码段的结果有些怀疑.先感谢您!
为什么不叫B1析构函数?在我看来,"Dest B"应该显示在"Dest A"之前.任何解释都将受到赞赏.
class A1 {
public:
A1() { cout << "Const A" << endl; }
~A1() { cout << "Dest A" << endl; }
virtual const char* ClassName() const{ return ("A"); }
};
class B1:public A1 {
public:
B1() { cout << "Const B" << endl; }
~B1() { cout << "Dest B" << endl; }
virtual const char* ClassName() const { return ("B"); }
};
void foo1(A1 *a1)
{
cout << "foo1 has been passed an object …Run Code Online (Sandbox Code Playgroud)