13.设有以下定义:
#include<iostream.h>
class A1
{public:
void show1() { cout<<”class A1”<<endl; }
};
class A2: public A1
{public:
void show2( ) { cout<<”class A2”<<endl; }
};
class A3: protected A2
{public:
void show3( ) { cout<<”class A3”<<endl; }
};
void main()
{ A1 obj1;
A2 obj2;
A3 obj3;
…
}
以下不合法的调用语句是( )
A.obj1.show1(); B.obj2.show1();
C.obj3.show1(); D.obj2.show2();
一条C++选择题、、选C求解释。。
答案:3 悬赏:10 手机版
解决时间 2021-08-10 22:34
- 提问者网友:风月客
- 2021-08-10 04:20
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-08-10 05:55
选择C~
类的private和protected成员,在类外是不可以使用的.只有public成员可以在类外直接使用.
公有继承时,基类的private成员派生类也不可用,基类的public和protected成员在派生类中可直接使用.继承过来(变成派生类相应的public和protected成员)只有public成员在派生类外可以直接使用.
保护继承时,基类的private成员仍为有私有.基类的public和protected成员变成派生类的protected成员,这时在派生类外也不能直接使用原基类的public成员
私有继承时,基类的private成员仍为有私有.基类的public和protected成员将变成派生类的private成员.
类的private和protected成员,在类外是不可以使用的.只有public成员可以在类外直接使用.
公有继承时,基类的private成员派生类也不可用,基类的public和protected成员在派生类中可直接使用.继承过来(变成派生类相应的public和protected成员)只有public成员在派生类外可以直接使用.
保护继承时,基类的private成员仍为有私有.基类的public和protected成员变成派生类的protected成员,这时在派生类外也不能直接使用原基类的public成员
私有继承时,基类的private成员仍为有私有.基类的public和protected成员将变成派生类的private成员.
全部回答
- 1楼网友:長槍戰八方
- 2021-08-10 07:23
class A3: protected A2
以protected的方式继承,不能直接通过实例访问到父类的任何方法。 想要访问必须自己定义属于自己的public方法,然后能过这个方法去调用
- 2楼网友:旧脸谱
- 2021-08-10 07:12
class A3是以保护方式继承A2的所以,show1()变成了protected类型,外部不能访问。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯