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

admin2010-12-16  26

问题 有如下程序:    #include <iostream.h>    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.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]错误。
转载请注明原文地址:https://jikaoti.com/ti/zZL0FFFM
0

最新回复(0)