A-A+
下列类的定义中 有()处语法错误。 class Base { public: Base(){
问题详情
下列类的定义中,有()处语法错误。 class Base { public: Base(){} Base(int i) { data=i; } private: int data; }; class Derive : public Base { public: Derive() : Base(O) {} Derive (int x) { d=x; } void setvalue(int i) { data=i; } private: int d; };
A.1
B.2
C.3
D.4请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
解析:本题考核派生类的定义和成员的访问权限。第①处错误:在派生类的构造函数Derive(intx)中没有调用基类的构造函数对基类对象初始化。第②处错误:数据data是基类Base的私有成员,派生类Derive不能访问,所以在函数setvalue中对data的赋值是错误的。