问题
单项选择题
有下列程序:
#include<iostream.h>
using namespace std;
classBase
protected:
int i;
public:
int j;
;
classDerived:public Base
int m;
public:
intn;
;
int main()
Derived d;
d.i=0; ∥[1]
d.j=0; ∥[2]
d.m=0; ∥[3]
d.n=0; ∥[4]
return 0;
其中主函数中有两个赋值语句有错,这两个错误的赋值语句是( )。
A.[1]和[2]
B.[1)和[3]
C.[2]和[3]
D.[2]和[4]
答案
参考答案:B
解析: 此题考查的是类和派生类的访问权限。类Derived公有继承类Base,所以d对基类Base成员的访问权限不变。因数据成员i为保护,故不能通过对象访问:派生类Derived中m变量为私有,同样不能通过对象访问,所以[1]、[3]错误。