问题 单项选择题

有下列程序:#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]错误。

单项选择题
单项选择题