使用虚基类可以消除由多继承产生的二义性
构造派生类对象时,虚基类的构造函数只被调用一次
声明“class B: virtual public A”说明类B为虚基类
建立派生类对象时,首先调用虚基类的构造函数
第1题:
下列关于虚函数的描述中,正确的是
A.虚函数是一个static类型的成员函数
B.虚函数是一个非成员函数
C.基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明
D.派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型
第2题:
( 23 )下列关于虚基类的描述中,错误的是
A )使用虚基类可以消除由多继承产生的二义性
B )构造派生类对象时,虚基类的构造函数只被调用一次
C )声明 “ class B : virtual public A ” 说明类 B 为虚基类
D )建立派生类对象时,首先调用虚基类的构造函数
第3题:
A、有引入虚基类的目的是解决二义性的问题;
B、因为虚基类可被多个派生类继承,因此可以有多个副本以适应不同的派生类;
C、若某个类被说明为虚基类,则被重复继承的该类成员在派生类对象中只有一个副本;
D、在派生类对象创建时,要保证虚基类的构造函数只被调用一次。
第4题:
下列关于纯虚函数的描述中,正确的是( )。
A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数
B.纯虚函数的声明总是以“=0;”结束
C.派生类必须实现基类的纯虚函数
D.含有纯虚函数的类不能是派生类
第5题:
下列关于构造函数和析构函数的描述,错误的是( )。
A.析构函数中调用虚函数采用静态联编
B.对虚析构函数的调用可以采用动态联编
C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数
D.构造函数可以声明为虚函数
第6题:
下面关于ios类的叙述中,正确的是( )。
A.它是istream类和ostream类的虚基类
B.它只是istream类的虚基类
C.它只是ostream类的虚基类
D.它是ostream类的虚基类
第7题:
下面关于虚函数的描述,错误的是
A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C.虚函数可以是另一个类的友元函数,但不能是静态成员函数
D.基类中说明的纯虚函数在其任何派生类中都必须实现
第8题:
下列关于纯虚数与抽象类的描述中,错误的是( )。
A.纯虚函数是一种特殊的虚函数,它没有具体的实现
B.抽象类是指具有纯虚函数的类
C.一个基类中说明具有纯虚函数,该基类的派生类一定不再是抽象类
D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
第9题:
下面关于虚函数的描述,错误的是( )。
A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚数
C.虚函数可以是另一个类的友元函数,但不能是静态成员函数
D.基类中说明的纯虚函数在其任何派生类中都必须实现
第10题:
下列关于虚基类的描述中错误的是
A.虚基类子对象的初始化由最派生类完成
B.虚基类子对象的初始化次数与虚基类下面的派生类个数有关
C.设置虚基类的目的是消除二义性
D.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数调用