解决因多层派生在派生类中出现基类成员多个拷贝的方法是( )。
A. 用关键字virtual把基类成员说明为虚特性
B. 把基类申明为虚基类
C. 把基类申明为抽象类
D. 用类名和作用域运算符进行区分
查看答案
下列关于虚函数的描述中正确的是( )。
A. 可以把静态的成员函数申明为虚函数
B. 可以把非成员函数申明为虚函数
C. 可以把构造函数和析构函数说明为虚函数
D. 基类中的虚函数继承到派生类中,即使不用virtual说明仍为虚函数
以下有关抽象类的叙述中不正确的是( )。
A. 抽象类至少含有一个纯虚函数
B. 抽象类至少含有一个没有函数体的虚函数
C. 在抽象类的派生类中可以据供纯虚函数的实现代码
D. 抽象类只能作为基类派生出新类,不能定义抽象类的指针或对象引用
设有类的定义如下:class A{ };class B:virtual public A{ };class C:virtual public A{ };class D:public B,public C { };则在产生类D的对象时,构造函数的执行顺序是()。
A. 类A→类B→类A→类C→类D
B. 类A→类C→类A→类B→类D
C. 类A→类B→类C→类D
D. 类A→类C→类B→类D
设有类的定义如下:class A{ };class B { };class C:public B {A t;};则在释放类C的对象时,析构函数的调用顺序是( )。
A. 类A→类B→类C
B. 类B→类A→类C
C. 类C→类A→类B
D. 类C→类B→类A