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

admin2020-05-14  66

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

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

答案C

解析 TestClass1为TestClass2的私有基类,所以派生类TestClass2中继承过来的show1()为私有的。TestClass3为TestClass2的受保护派生类。所以TestClass3定义的对象不能访问TestClass中的show1(    )。
转载请注明原文地址:https://jikaoti.com/ti/l2A0FFFM
0

最新回复(0)