单选题 有如下程序 #include using namespace std; class AA{ char c; public: AA(char ch):c(ch){ cout<
【正确答案】 C
【答案解析】解析:派生类构造函数的工作过程:1、派生类的构造函数在执行函数体之前,首先调用基类的构造函数初始化基类;2、基类构造完成之后,在执行函数体之前根据声明次序初始化自己的成员;3、执行自身函数体。由上可知,构造函数初始化列表并不指定初始化的执行次序。所以程序中在创建BB对象时,首先调用AA的构造函数,输出"C",然后初始化类BB中的成员对象m,m是AA类对象,调用AA的构造函数,输出"M",最后执行函数体,输出"B";输出顺序为:"CMB",答案为C。