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

admin2013-05-30  24

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

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

答案C

解析 本题考核派生类的使用以及访问权限问题。C++中,通过类的对象只能访问类的公有成员,不能访问类的保护成员和私有成员。A2是A1的公有派生类,A3是A2的保护派生类,所以类A1的成员函数show1()在类A3中呈现保护属性,不能通过A3类的对象访问。
转载请注明原文地址:https://jikaoti.com/ti/SmE0FFFM
0

最新回复(0)