问题 单项选择题

设有以下定义和程序:
#include<iostream.h>
class A1public:
void show1()

cout<<"class A1"<<endl;
;
class A2 : public A1public:
void show2()

cout<<"class A2"<<end1

;
class A3 : protected A2public:
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类的对象访问。

单项选择题 A3型题
单项选择题