问题 单项选择题

设有以下定义和程序:
#include<iostream.h>
class A1

public:
void show1()

cout<<"class A1"<<end1;

;
class A2:public A1

public:
void show2()

cout<<"class A2"<<end1;

;
class A3:protected A2

public:
void show3()

cout<<"class A1"<<end1;

;
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)是错误的;其他选项均有访问的权限,正确。

单项选择题 案例分析题
判断题