C#程序设计

下列关于C#面向对象应用的描述中,哪项是正确的?()A、接口像类一样,可以定义并实现方法B、声明为sealed的类不能被继承C、abstract方法在声明时必须实现方法的具体内容D、派生类是基类的扩展,派生类可以添加新的成员,也可去掉已经继承的成员

题目

下列关于C#面向对象应用的描述中,哪项是正确的?()

  • A、接口像类一样,可以定义并实现方法
  • B、声明为sealed的类不能被继承
  • C、abstract方法在声明时必须实现方法的具体内容
  • D、派生类是基类的扩展,派生类可以添加新的成员,也可去掉已经继承的成员
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

基类的【 】不能被派生类的成员访问,基类的【 】在派生类中的性质和继承的性质一样,而基类的【 】在私有继承时在派生类中成为私有成员,在公有和私有保护继承时在派生类中仍为保护成员。


正确答案:私有成员 公有成员 保护成员
私有成员 公有成员 保护成员

第2题:

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

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

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

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

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


正确答案:BC

第3题:

下列对继承关系的描述中,正确的是()。

A、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;

B、在公有继承中,基类中只有公有成员对派生类的对象是可见的;

C、在私有继承中,基类中只有公有成员对派生类是可见的;

D、在私有继承中,基类中的保护成员对派生类的对象是可见的;


参考答案:D

第4题:

下面关于继承机制的描述中,不正确的是( )。

A.派生类不仅可以继承基类的成员,也可以添加自己的成员

B.设置protected成员是为派生类访问基类成员之用

C.采用不同的继承方式,将限制派生类对基类成员的访问

D.采用私有继承,派生类只能得到基类的公有成员


正确答案:D
解析:本题主要考察C++中继承机制的特点。C++中允许利用已有的数据类型来定义新的数据类型,这种机制称为继承机制,并称已存在的用来派生新类的类称为基类,由已存在的类派生出的新类称为派生类。派生类有3种继承方式可以采用,即public、private和protected方式。派生类除了继承基类中的数据成员和成员函数外,还可以添加具有自身特点的成员,这是继承机制的真正用意所在。因此选项A的叙述正确。采用不同的继承方式,将限制派生类对基类成员的访问权限,因此选项C的叙述正确。对于类本身,protected成员和private成员对外的访问权限是相同的,即外界函数都无法直接访问这两类成员。对于类作为基类被继承产生派生类时,protected成员又和public成员性质相同,即在所有继承方式下都可以被派生类所继承,在public继承时可以被派生类对象访问,在protected和private继承方式下无法被派生类的子类访问。这也正是C++设置protected访问权限成员的真正用途,即为派生类继承基类隐蔽成员之用途。因此选项B的叙述正确。

第5题:

下列有关继承和派生的叙述中,正确的是( )。

A.如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员

B.派生类的成员函数可以访问基类的所有成员

C.基类对象可以赋值给派生类对象

D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类


正确答案:D
私有继承方式为基类的公用成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有,但派生类对象可以访问基类的保护成员,所以基类对象不能赋值给派生类对象。抽象类是指含有纯虚拟函数的类,所以选项D正确。

第6题:

以下关于派生机制的描述中,不正确的是

A.派生类不仅可以继承基类的成员,也可以添加自己的成员

B.设置protected成员是为派生类访问基类成员之用

C.采用不同的继承方式,将限制派生类对基类成员的访问

D.采用私有继承,派生类只能得到基类的公有成员


正确答案:D
解析:继承方式不同,派生类能够访问的基类的成员数量也不同。继承方式有三种:公有继承,私有继承和保护继承,每种继承方式结合成员函数的类型可以组合成不同的访问级别,从而提供了灵活多样的派生类访问基类的权限。

第7题:

下列关于派生类和基类的描述中,正确的是( )。

A.派生类成员函数只能访问基类的公有成员

B.派生类成员函数只能访问基类的公有和保护成员

C.派生类成员函数可以访问基类的所有成员

D.派生类对基类的默认继承方式是公有继承


正确答案:B
B。【解析】派生类成员函数不能访问基类的private成员,只能由基类的对象来访问。这才体现了C++的数据封装特性。

第8题:

下列有关继承和派生的叙述中,正确的是

A.如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员

B.派生类的成员函数可以防问基类的所有成员

C.基类对象可以赋值给派生类对象

D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类


正确答案:D
解析:本题考查的知识点是继承和派生。无论是公有、保护还是私有继承,派生类都能够访问基类的公有和保护成员,而不能访问基类的私有成员,故选项A和B不正确。公有继承时,派生类的对象可以作为基类的对象处理,派生类是基类的子类型。子类型关系是可以传递的,但是不可逆的。因此,基类的对象不可作为派生类的对象处理,即基类对象不可赋值给派生类对象。所以选项C不正确。4个选项中,只有选项D正确。

第9题:

下列关于派生类和基类的描述中,正确的是( )。

A) 派生类成员函数只能访问基类的公有成员

B) 派生类成员函数只能访问基类的公有和保护成员

C) 派生类成员函数可以访问基类的所有成员

D) 派生类对基类的默认继承方式是公有继承

A.

B.

C.

D.


正确答案:B

第10题:

下列关于基类和派生类关系的叙述中,正确的是

A.每个类最多只能有一个直接基类

B.派生类中的成员可以访问基类中的任何成员

C.基类的构造函数必须在派生类的构造函数体中调用

D.派生类除了继承基类的成员,还可以定义新的成员


正确答案:D
解析:派生类可以只有一个直接基类,也可以同时有多个直接基类,A错。基类中的私有成员在派生类中是隐藏的,只能在基类内部访问,派生类中的成员不能访问基类中的私有成员,B错。基类的构造函数在派生类构造函数的成员初始化列表中调用,C错。D项正确。

更多相关问题