单选题 下面程序的运行结果是 #include<iostream.h> class base{ protected: int a; public: base( ){cout<<"0";} }; class basel:virtual base { public: base1( ){cout<<"1";} }; class base2:virtual base{ public: base2( ){cout<<"2";} }; class derived:public base1,public base2{ public: derived( ){cout<<"3";} void main( ) { derived obj; cout < < end1; }
【正确答案】 A
【答案解析】[解析] 本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。