设有以下定义和程序: #include <iostream.h> class A1 { public: void showl() { cout<<"class A1"<<end1;

admin2010-03-29  30

问题 设有以下定义和程序:    #include  <iostream.h>    class  A1    {    public:       void showl()       {           cout<<"class  A1"<<end1;       }    };    Class  A2  :  public  A1    {    public:       void show2()       {          cout<<"Class  A2"<<end1;       }    };    Class  A3  :  protected  A2    {    public:       void show3()       {          cout<<”Class  A土”<<end1;       }    };    void main()    {       A1  obj1;       A2  obj2;       A3  obj3;    }    则以下不合语法的调用语句是(    )。

选项 A、obj1.show1();
B、obj2.show1();
C、obj3.show1();
D、obj2.show2();

答案4

解析 C++中,通过类的对象只能访问类的公有成员,不能访问类的保护成员和私有成员。A2是A1的公有派生类,A3是A2的保护派生类,所以类A1的成员函数showl()在类A3中呈现保护属性,不能通过A3类的对象访问。
转载请注明原文地址:https://kaotiyun.com/show/NFjp777K
0

最新回复(0)