有如下程序:
#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
解析: 基类被派生类公有派生时,可以在派生类中访问基类中的公有数据成员和保护数据成员,私有数据成员在派生类中不能被直接访问,保护数据成员和私有数据成员均不能被派生类对象直接访问。如果一个类的数据成员没有被限定就会被默认为私有数据成员,私有数据成员不能直接被类对象访问。