单选题
设有以下定义和程序:
#include<iostream.h>
class A1
public:
void show 1()
cout<<" class A 1"<<end1;
class A2:public A1
public:
void show20
cout<<"class A2"<<end1;
;
class A3:protected A2
public:
void show3()
cout<<"class A 1 "<<end1;
;
void main()
A1 obj1;
A2 obj2;
A3 obj3;
则以下不合语法的调用语句是( )。
A) obj1.show1(); B) obj2.show1();
C) obj3.show1(); D) obj2.show2();
【正确答案】
C
【答案解析】[解析] 由于classA3:protectedA2,所以类A3的对象obj3不能直接访问基类A1的成员函数show1(),所以选项C) 是错误的;其他选项均有访问的权限,正确。