有如下类定义: class Base{ int m; public: int n; protected: int p; }; class Derived

admin2021-09-05  20

问题 有如下类定义:
     class Base{
         int m;
     public:
         int n;
     protected:
         int p;
     };
     class Derived: private Base{
         int k;
     public:
         void f();
     };
则允许成员函数 f 访问的数据成员的个数是

选项 A、1
B、2
C、3
D、4

答案C

解析 私有继承中,基类的所有成员(除了private成员)在派生类中为private成员;另外C++中,class关键字定义的类,默认的访问级别为private;题目中Derived以private方式继承Base,所以Derived中private成员有:n、p、k,没有public和protected成员,成员函数f可以访问Derived的private成员、public成员和protected成员,答案为C。
转载请注明原文地址:https://kaotiyun.com/show/Xo5p777K
0

最新回复(0)