C++中,派生类对基类的继承有三种方式:公有继承(Public)、包含继承(Protected)、私有继承(Private)。

题目

C++中,派生类对基类的继承有三种方式:公有继承(Public)、包含继承(Protected)、私有继承(Private)。类B保护继承方式继承了类A,类C公有继承方式继承了类B,则______是类C中的公有成员。

A.类A的公有成员

B.类A的保护成员

C.类B的公有成员

D.类B的保护成员

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

第1题:

3、下列说法中错误的是:

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

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

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

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


B 公用继承时基类中的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。私有继承时,基类的公有成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有。受保护的继承时,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员认为基类私有。

第2题:

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

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

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

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

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


正确答案:B

第3题:

下面的描述中表达错误的是

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

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

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

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


正确答案:B
解析:C++中,继承方式控制了基类中具有不同访问属性的成员在派生类中的访问属性。基类中的私有成员在派生类中是隐蔽的,只能在基类内部访问。所以B)选项是错误的。派生类中的成员不能访问基类的中私有成员,但可以访问基类中的公有成员和保护成员。此时派生类对基类中各个成员的访问能力与继承方式无关,但继承方式将影响基类成员在派生类中的访问控制属性,基类中公有和保护成员在派生类中的访问控制属性将随着继承方式而改变:派生类从基类公有继承时,基类的公有成员和保护成员在派生类中仍然是公有成员和保护成员;派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都改变为私有成员,派生类从基类保护继承时,基类的公有成员在派生类中改变为保护成员,基类的保护成员在派生类中仍然为保护成员.所以,A)、C)和D)选项都是正确的。

第4题:

下列说法中错误的是______ 。

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

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

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

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


正确答案:B
解析:B项私有继承时基类中的protected成员在派生类中应该是private成员。

第5题:

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

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

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

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

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


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

第6题:

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

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

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

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

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


正确答案:B
解析:此题考查的是派生类中的访问权限。继承方式包括公有继承、保护继承和私有继承。私有继承时基类中的protected成员在派生类中变成了private成员,所以选项B)叙述错误。

第7题:

下列叙述中错误的是

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

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

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

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


正确答案:B
解析:在私有继承方式下,所有的类成员都继承为私有成员。

第8题:

下列描述中,表达错误的是( )。

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

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

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

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


正确答案:B
解析:C++中,继承方式控制了基类中具有不同访问属性的成员在派生类中的访问属性。基类中的私有成员在派生类中是隐蔽的,只能在基类内部访问。所以选项B是错误的。派生类中的成员不能访问基类中的私有成员,但可以访问基类中的公有成员和保护成员。此时派生类对基类中各个成员的访问能力与继承方式无关,但继承方式将影响基类成员在派生类中的访问控制属性。基类中公有成员和保护成员在派生类中的访问控制属性将随着继承方式而改变:派生类从基类公有继承时,基类的公有成员和保护成员在派生类中仍然是公有成员和保护成员;派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都改变为私有成员;派生类从基类保护继承时,基类的公有成员在派生类中改变为保护成员,基类的保护成员在派生类中仍然为保护成员。所以,选项A、C和D都是正确的。

第9题:

下面描述中,表达错误的是()。

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

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

C公有继承时基类中的protected成员在派生类中仍是protected的

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


正确答案:B