有如下类定义: class AA{ int a; public: AA(int n=0):a(n){} }; class BB :public AA{

admin2020-06-29  34

问题 有如下类定义:
       class AA{
           int a;
       public:
           AA(int n=0):a(n){}
       };
       class BB :public AA{
       public:
           BB(int x) __________
       };
其中划线处应填写的内容是

选项 A、:AA(x){}
B、:a(n){}
C、{a(x);}
D、{a=x;}

答案A

解析 C++中,派生类构造函数的初始化列表只能初始化派生类的成员,不能直接初始化继承成员。所以派生类构造函数需要将基类构造函数包含在初始化列表中来间接初始化继承成员,选项B错误;AA中的成员a是private成员,对BB不可见,选项C,D错误;答案为A。
转载请注明原文地址:https://jikaoti.com/ti/DFA0FFFM
0

最新回复(0)