选择题
设有以下定义和程序:
#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 A±'<<end1;
}
};
void main()
{
A1 obj1;
A2 obj2;
A3 obj3;
}
则以下不合语法的调用语句是
。
A、
obj1.show1();
B、
obj2.show1();
C、
obj3.show1();
D、
obj2.show2();
【正确答案】
C
【答案解析】
C++中,通过类的对象只能访问类的公有成员,不能访问类的保护成员和私有成员。A2是A1的公有派生类,A3是A2的保护派生类,所以类A1的成员函数showl()在类A3中呈现保护属性,不能通过A3类的对象访问。
提交答案
关闭