A-A+

执行如下程序将输出(): #include<iostream> using namespac

2022-08-05 23:42:32 问答库 阅读 173 次

问题详情

执行如下程序将输出(): #include<iostream> using namespace std; class Base { public: Base(){cout<<"BB";fun();} void fun (){tout<<"Brim";} }; class Derived:public Base { public: Derived(){cout<<"DD";} void fun (){cout<<"Dfun";} }; int main(){Derived d;return 0;}
A.DD
B.BBDfunDDDfun
C.BBBfunDD
D.DDBBBfun请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:C
解析:C++中创建一个类的实例时,如果该类存在基类,将首先执行基类的构造函数,然后执行该类本身的构造函数。本题中首先执行类Base的构造函数,所以将先输出“BB”,然后调用基类成员函数fun(),输出“Bfun”,最后调用子类Derived的构造函数输出“DD”。

考点:程序