问题
单项选择题
在下面程序中,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() constcout<< "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.a
B.B
C.C
D.D
答案
参考答案:A
解析: B和C不符合赋值兼容规则,D不能建立抽象类的对象。