选择题
有如下程序:
#include<iostream>
using namespace std;
class C1{
public:
~C1(){cout<<1;}
};
class C2: public C1{
public:
~C2(){cout<<2;}
};
int main(){
C2 cb2;
C1*cb1;
return 0;
}
运行时的输出结果是______。
A、
121
B、
21
C、
211
D、
12
【正确答案】
B
【答案解析】
在基类与派生类中,析构函数在派生类中先调用,而本题有两个不同类对象,对于cb2需先调c2的析构函数,再调c1的析构函数。而对于*cb1由于没有指针性析构函数,它将不参加传递数据。
提交答案
关闭