问题 单项选择题

下列类的定义中,有( )处语法错误。
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(int x)中没有调用基类的构造函数对基类对象初始化。
第②处错误:数据data是基类Base的私有成员,派生类Derive不能访问,所以在函数setvalue中对data的赋值是错误的。

单项选择题
选择题