问题 单项选择题

有如下程序:
#include<iostream>
using namespace std;
class Base
protected:int i;
public:int j;

class Derived:public Base
int m;
public:int n;

int main( )
Derived d;
d.i=0; //[1]
d.j=0; //[2]
d.n1=0; //[3]
d.n=0; //[4]
return 0;

其中主函数中有两个赋值语句有错,这两个错误的赋值语句是

A.[1]和[2]

B.[1]和[3]

C.[2]和[3]

D.[2]和[4]

答案

参考答案:B

解析: 基类被派生类公有派生时,可以在派生类中访问基类中的公有数据成员和保护数据成员,私有数据成员在派生类中不能被直接访问,保护数据成员和私有数据成员均不能被派生类对象直接访问。如果一个类的数据成员没有被限定就会被默认为私有数据成员,私有数据成员不能直接被类对象访问。

论述题
单项选择题 案例分析题