C++语言程序设计

在哪种派生方式中,派生类可以访问基类中的protected成员?()A、public和privateB、public和protectedC、protected和privateD、仅protected

题目

在哪种派生方式中,派生类可以访问基类中的protected成员?()

  • A、public和private
  • B、public和protected
  • C、protected和private
  • D、仅protected
参考答案和解析
正确答案:B
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 13 )如果派生类以 protected 方式继承基类,则原基类的 protected 成员和 public 成员在派生类中的

访问属性分别是

A ) public 和 public

B ) public 和 protected

C ) protected 和 public

D ) protected 和 protected


正确答案:D

第2题:

如果派生类以protected方式继承基类,则原基类的protected成员和public成员在派生类中的访问属性分别是

A.public和public

B.public和protected

C.protected和public

D.protected和protected


正确答案:D
解析:本题考查的知识点是:基类成员在派生类中的访问属性。派生类中的成员不能访问基类中的私有成员,可以访问基类中的公有成员和保护成员。此时派生类对基类中各成员的访问能力与继承方式无关,但继承方式将影响基类成员在派生类中的访问控制属性,基类中公有成员和保护成员在派生类中的访问属性将随着继承方式而改变:派生类从基类公有继承时,基类的公有成员和保护成员在派生类中仍然是公有成员和保护成员;派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都改变为私有成员;派生类从基类保护继承时,基类的公有成员在派生类中改变为保护成员,基类的保护成员在派生类中仍为保护成员。故本题应该选择D。

第3题:

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

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

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

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

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


正确答案:B

第4题:

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

A.在派生类中不可见的成员要变成可访问的,需要进行访问声明

B.在基类定义的public成员在保护继承的派生类中可见,也能在类外被访问

C.在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问

D.在基类定义的public和protected成员在保护继承的派生类中可见


正确答案:BC

第5题:

protected和private区别在于:protected成员可以被派生类访问,而private成员则不能被派生类访问。()


参考答案:正确

第6题:

在基类定义的puBliC和protECtED成员在保护继承的派生类中不可见。()


参考答案:错误

第7题:

在哪种派生方式中,派生类可以访问基类中的protected成员()

A、public和private

B、public和protected

C、protected和private

D、仅protected


参考答案:B

第8题:

下列说法中错误的是

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

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

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

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


正确答案:B

第9题:

基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可访问,该情况为()继承。

A. 公有

B. 私有

C. 全部

D. 保护


正确答案:D

第10题:

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

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

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

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

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


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

更多相关问题