有如下程序片段: class Task{ public: int GetValue(); private: int value; }; cla

admin2020-07-23  20

问题 有如下程序片段:
       class Task{
       public:
           int GetValue();
       private:
           int value;
       };
       class Displayed{
       public:
           int GetValue();
           void Draw();
       private:
           int value;
       };
       class Satellite:public Task,public Displayed{
       public:
           void Draw();
       };
       void fun(Satellite* sp){
           sp->GetValue();               //①
           sp->Task::GetValue();         //②
           sp->Displayed::GetValue();    //③
           sp->Draw();                   //④
       }
在标注号码的语句行中,对类中成员访问存在二义性的是

选项 A、①
B、②
C、③
D、④

答案A

解析 本题考查派生类对基类的继承二义性问题,类Satellite公用继承Task和Displayed,两个基类中都有GetValue函数,所以引起二义性,A选项错误。
转载请注明原文地址:https://kaotiyun.com/show/yQyp777K
0

最新回复(0)