怎样定义基类虚方法,并在派生类中重写基类虚方法?
第1题:
在基类中有定义的纯虚函数,它要求在派生类中定义,而且基类不能用以说明对象,则该类为( )。
A.虚基类
B.抽象类
C.虚函数类
D.模板类
第2题:
下面关于纯虚函数和抽象类的描述中, ______ 是错误的。
A.纯虚函数是一种特殊的虚函数,它没有具体意义
B.一个基类中的说明有纯虚函数,该基类的派生类一定不再是抽象类
C.抽象类只能作为基类来使用,其纯虚函数的定义由派生类给出
D.抽象类是指具有纯虚函数的类
第3题:
派生类中所定义的虚函数的【 】不影响对它的动态联编,即基类中已定义的虚函数,其同名函数放在派生类中的【 】,都可以实现运行时多态性。
第4题:
一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称__________。
第5题:
下列各种类中,不能定义对象的类是()。
第6题:
基类中允许重写的属性和方法使用关键字()声明,而在派生类中使用关键字()定义重写的属性及方法。
第7题:
带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化()。
第8题:
与虚基类下面的派生类个数有关
多次
二次
一次
第9题:
override
new
static
virtual
第10题:
虚拟方法就是没有实现的方法
不能在派生类中调用基类的虚方法
可以在派生类中重载基类的虚方法
基类中不能调用自己的虚方法
第11题:
虚方法必须在派生类中重写,抽象方法不需要重写
虚方法可以在派生类中重写,抽象方法必须重写
虚方法必须在派生类中重写,抽象方法必须重写
虚方法可以在派生类中重写,抽象方法也不需要重写
第12题:
虚方法能在程序执行时动态确定要调用的方法,因此比非虚方法更灵活
在定义虚方法时,基类和派生类的方法定义语句中都要带上virtual修饰符
在重写基类的虚方法时,为消除隐藏基类成员的警告,需要带上new修饰符
在重写基类的虚方法时,需要同时带上virtual和override修饰符
第13题:
关于纯虚函数和抽象类的描述中,( )是错误的。
A.纯虚函数是一种特殊的虚函数,它没有具体的定义
B.抽象类是指具有纯虚函数的类
C.一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类
D.抽象类只能作为基类来使用,其纯虚函数的定义由派生类给出
第14题:
是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。
A.虚析构函数
B.构造函数
C.纯虚函数
D.静态成员函数
第15题:
下面关于继承和派生的叙述中,正确的是( )。
A.作为虚基类的类不能被实例化
B.派生类不能访问基类中的保护成员
C.虚函数必须在派生类中重新实现
D.派生类向基类的构造函数传递参数
第16题:
关于类的虚拟方法的说法中正确的是()。
第17题:
当不同的类具有相同的间接基类时,()
第18题:
以下说法正确的是()。
第19题:
“虚基类”是通过什么方式定义的?如果类A有派生类B、C,类A是类B虚基类,那它也一定是类C的虚基类吗?为什么?
第20题:
第21题:
第22题:
各派生类无法按继承路线产生自己的基类版本
为了建立惟一的间接基类版本,应该声明间接基类为虚基类
为了建立惟一的间接基类版本,应该声明派生类虚继承基类
一旦声明虚继承,基类的性质就改变了,不能再定义新的派生类
第23题:
使用虚基类可以消除由多继承产生的二义性
构造派生类对象时,虚基类的构造函数只被调用一次
声明“class B: virtual public A”说明类B为虚基类
建立派生类对象时,首先调用虚基类的构造函数