单选题
在下面程序中,A、B、C、D四句编译时不会出错的是( )。 #include <iostream> using namespace std; class Base{ public: Base(); Base(int e):count(C) {} virtual void print() const = 0; private: int count; }; class Derived :public Base{ public: Derived():Base(0) {} Derived(int C) :Base(C) {} void printt() const{cout<< "Derived"<<endl:} }; void main( ) { Derived d(10); Base *pb; pb = &d; //A Base &cb= d; Derived dd = *pb; //B Derived &cd = cb; //C Base bb = d; //D
【正确答案】
A
【答案解析】[解析] B和C不符合赋值兼容规则,D不能建立抽象类的对象。