有如下类声明和函数声明 class Base{ int m; public: int n; protected: int p; }; class Der

admin2020-05-14  20

问题 有如下类声明和函数声明
     class Base{
         int m;
     public:
         int n;
     protected:
         int p;
     };
     class Derived: protected Base{
     public:
         int k;
     };
     void f(Derived d);  
则在函数 f 中通过 d 可访问的数据成员的个数是

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

答案A

解析 保护继承中,基类的public和protected成员在派生类中都是protected成员,所以类Derived中,public成员为:k,protected成员为:n、p,没有private成员,m对Derived不可见;Derived对象d可访问的只有public成员,即k;答案为A。
转载请注明原文地址:https://jikaoti.com/ti/1oA0FFFM
0

最新回复(0)