当在多条继承路径上有一个公共的基类时,在这些路径中的某几条汇合处,这个公共的基类就会产生多个实例,此时可以用虚基类来解决这个问题。
第1题:
下列有关继承和派生的叙述中,正确的是
A.派生类不能访问基类的保护成员
B.作为虚基类的类不能被实例化
C.派生类应当向基类的构造函数传递参数
D.虚函数必须在派生类中重新实现
第2题:
解决类继承中产生的二义性的方法不包括
A.使用作用域运算符限定访问的成员函数
B.在派生类中定义同名函数,且参数表必须和基类的保持一致
C.在派生类中定义同名函数,且参数表可以和基类的不同
D.采用虚基类解决多重继承中的共同基类产生的二义性
第3题:
一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是______ 。
A.每个派生类的构造函数都要为虚基类构造函数提供实参
B.多继承时有可能出现对基类成员访问的二义性问题
C.使用虚基类可以解决二义性问题并实现运行时的多态性
D.建立派生类对象时,虚基类的构造函数会首先被调用
第4题:
对于多重继承,下面说法中正确的是( )。
A.一个派生类只有一个基类
B.一个基类只能产生一个派生类
C.一个派生类可有多个基类
D.一个基类必须产生多个派生类
第5题:
下列关于虚基类的描述,错误的是( )。
A.设置虚基类的目的是为了消除二义性
B.虚基类的构造函数在非虚基类之后调用
C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调,用派生类的构造函数
第6题:
一个类可以同时继承多个类,称为多继承。下列关于多个继承和虚基类的表述中,错误的是( )。
A.每个派生类的构造函数都要为虚基类构造函数提供实参
B.多继承时有可能出现对基类成员访问的二义性问题
C.使用虚基类可以解决二义性问题并实现运行时的多态性
D.建立最派生类对象时,虚基类的构造函数会首先被调用
第7题:
Python是一门面向对象的语言,支持以下哪些继承方式:()
第8题:
虚基类是用来解决多继承中公共基类在派生类中只产生一个基类子对象的问题。
第9题:
当不同的类具有相同的间接基类时,()
第10题:
继承可以实现软件复用
虚基类可以解决由多继承产生的二义性问题
派生类构造函数要负责调用基类的构造函数
派生类没有继承基类的私有成员
第11题:
对
错
第12题:
使用虚基类可以消除由多继承产生的二义性
构造派生类对象时,虚基类的构造函数只被调用一次
声明“class B: virtual public A”说明类B为虚基类
建立派生类对象时,首先调用虚基类的构造函数
第13题:
为解决在多重继承环境中因公共基类带来的 ______ 问题,C++语言提供了虚基类机制。
第14题:
下列描述中错误的是( )。
A.析构函数可以被继承
B.虚函数不能被继承
C.派生类可以有多个基类
D.纯虚基类的子类可以是虚基类
第15题:
下列关于多继承二义性的描述中,错误的是( )。
A.一个派生类的两个基类中都有某个同名成员,派生类中这个成员的访问可能出现二义性
B.解决二义性的最常用的方法是对成员名的限定法
C.基类和派生类中同时出现的同名函数,也存在二义性问题
D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性
第16题:
1. 下列有关继承和派生的叙述中,正确的是( )
A)派生类不能访问通过私有继承的基类的保护成员
B)多继承的虚基类不能够实例化
C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数
D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现
B
第17题:
为解决在多重继承环境中因公共基类带来的二义性问题,C++语言提供了【 】机制。
第18题:
下面关于继承和派生的叙述中,正确的是( )。
A.作为虚基类的类不能被实例化
B.派生类不能访问基类中的保护成员
C.虚函数必须在派生类中重新实现
D.派生类向基类的构造函数传递参数
第19题:
如果想要使公共基类在派生类中只产生一个基类子对象,则必须将这个基类设为()。
第20题:
从一个基类派生的继承为单继承,从多个基类派生的继承为()。
第21题:
派生类公有继承基类时,可以访问基类的所有数据成员,调用所有成员函数。
派生类也是基类,所以它们是等价的。
派生类对象不会建立基类的私有数据成员,所以不能访问基类的私有数据成员。
一个基类可以有多个派生类,一个派生类可以有多个基类。
第22题:
第23题:
各派生类无法按继承路线产生自己的基类版本
为了建立惟一的间接基类版本,应该声明间接基类为虚基类
为了建立惟一的间接基类版本,应该声明派生类虚继承基类
一旦声明虚继承,基类的性质就改变了,不能再定义新的派生类
第24题: