设有基类定义:class Cbase{private:int a;protected. int b;public:int c;};派生类采用何种继承

题目

设有基类定义:class Cbase{ private:int a;protected. int b;public:int c;};派生类采用何种继承方式可以使成员变量b成为自己的私有成员( )。

A.私有继承

B.保护继承

C.公有继承

D.私有、保护、公有均可

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

5、下列说法错误的是()。

A.公有继承的基类中的public成员在派生类中仍是public的

B.公有继承的基类中的private成员在派生类中仍是private的

C.私有继承的基类中的public成员在派生类中仍是private的

D.保护继承的基类中的public成员在派生类中仍是protected的


C

第2题:

下列说法中错误的是____________。

A.保护继承时基类中的public成员在派生类中仍是public的

B.公有继承时基类中的private成员在派生类中仍是private的

C.私有继承时基类中的public成员在派生类中是private的

D.保护继承时基类中的public成员在派生类中是protected的


私有继承时基类中的public成员在派生类中是protected的

第3题:

下列说法错误的是()。

A.公有继承的基类中的public成员在派生类中仍是public的

B.公有继承的基类中的private成员在派生类中仍是private的

C.私有继承的基类中的public成员在派生类中变成private的

D.保护继承的基类中的public成员在派生类中变成protected的


类B中的成员可以访问类A中的私有成员

第4题:

阅读下列说明和C++代码,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。
【说明】
以下C++代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分类及其关系如图6-1所示。



【C++代码】
#include?#include?using?namespace?std;class?DrawCircle?{??????//绘制圆形,抽象类? ? ? public: (1);//定义参数为?int?radius,?int?x,?inty? ?virtual~DrawCircle()?{?}};class?RedCircle:public?DrawCircle?{????//绘制红色圆形? ? ? ? public: void?drawCircle(intradius,?int?x,?int?y)?{cout?<?drawCircle?=?drawCircle;? }? ?virtual~shape()?{?}? public:? ?virtual?void?draw()?=?0;};class?Circle:public?Shape?{????//圆形? ? private:? ? ?int?x,y,radius;? ? public:? Circle(int?x,inty,int?radius,DrawCircle?*drawCircle)? (3)? {? this->x?=?x;? ?this->y?=?y;? ? this->radius?=?radius; }? ? ? public:? void?draw(){? drawCircle?-> (4); }};int?main(){Shape?*redCirclenew?Circle(100,100,10,????(5)????);//绘制红色圆形? Shape?*greenCircle=new?Circle(100,100,10, (6)??);//绘制绿色圆形redCircle >draw();? ?greenCircle?->draw();? ?return?0;}


答案:
解析:
(6)(1)void drawCircle (int radius,int x,int y)
(2)DrawCircle*drawCircle
(3)drawcircle
(4)drawCircle(radius,x,y)
(5)new RedCircle()
(6)new GreenCircle()【解析】
第一空是填接口里面的方法,在接口的实现里面找,可以发现应该填void drawCircle (int radius,int x,int y)。
第二空可以根据后面this drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填)DrawCircle drawCircle。
第三空这里填drawcircle,用-> drawcircle来引用父类的成员。
第四空调用drawCircle(radius,x,y)方法。
第五、六空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。

第5题:

下列说法中错误的是( )。

A.公有继承时基类中的public成员在派生类中仍是public的

B.公有继承时基类中的private成员在派生类中仍是private的

C.私有继承时基类中的public成员在派生类中是private的

D.保护继承时基类中的public成员在派生类中是protected的


正确答案:B

第6题:

下列说法中错误的是( )。

A)公有继承时基类中的public成员在派生类中仍是public的

B)公有继承时基类中的private成员在派生类中仍是private的

C)私有继承时基类中的public成员在派生类中是private的

D)保护继承时基类中的public成员在派生类中是protected的


正确答案:B

第7题:

下列说法中错误的是( )。

A.公有继承时基类中的public成员在派生类中仍是public的

B.公有继承时基类中的private成员在派生类中仍是private的

C.私有继承时基类中的public成员在派生类中是private的

D.保护继承时基类中的public成员在派生类中是protected的


正确答案:B
解析:此题考查的是继承时基类成员属性改变。选项B) 中,公有继承时基类中的private成员在派生类中不是private的,而是不可访问的。所以选项B) 错误;其他选项叙述均正确。

第8题:

用于定义类成员的访问控制权限的一组关键字是

A.extends 和 implements

B.public,private 和 protected

C.class和public

D.char,int,float和double


正确答案:B
解析:修饰符分为访问限制符和非访问限制符。其中访问限制符有pub-lic.orivate.protected和default。非访问限制符有static,final和abstract等。

第9题:

设有基类定义:

class Cbase

{ private:int a;

protected:int b;

public:int c;

};

派生类采用何种继承方式可以使成员变量b成为自己的私有成员

A.私有继承

B.保护继承

C.公有继承

D.私有、保护、公有均可


正确答案:A
解析:类的继承中有三种继承方式,他们和类的访问级别相结合在派生类中可以产生多种访问级别。基类中成员为保护的,在派生类中要为私有的,可以采用私有继承。基类中的保护成员在派生类中不是私有就是保护,即级别只能降低而不能升高。基类中的公有成员则可能为私有、保护和私有。