选择题
下列类的定义中,有______处语法错误。
class Base
{
public:
Base(){}
Base(int i)
{
data=i;
}
private:
int data;
};
class Derive: public Base
{
public:
Derive(): Base(0){}
Derive(int x)
{
d=x;
}
void setvalue(int i)
{
data=i;
}
private:
d;
};
A、
1
B、
2
C、
3
D、
4
【正确答案】
B
【答案解析】
本题考核派生类的定义和成员的访问权限。第一处错误:在派生类的构造函数Derive(int x)中没有调用基类的构造函数对基类对象初始化:第二处错误:数据data是基类Base的私有成员,派生类Derive不能访问,所以在函数setvalue中对data的赋值是错误的。
提交答案
关闭