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

admin2019-04-01  26

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

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

答案C

解析 由于class A3:protected A2,所以类A3的对象obj3不能直接访问基类A1的成员函数show1(),所以选项C)是错误的;其他选项均有访问的权限,正确。
转载请注明原文地址:https://jikaoti.com/ti/AUt0FFFM
0

最新回复(0)