题目内容

#includeusing namespace std;class A{public:virtual void f(){cout<<1;}void g(){cout<<2;}};class B:public A{public:virtual void f(){cout<<3;}void g(){cout<<4;}};void show(A &a){a.f();a.g( );}int main(){B b;show(b);return 0;}运行时的输出结果是 。

A. 12
B. 34
C. 14
D. 32

查看答案
更多问题

下列描述中, 是抽象类的特性。

A. 可以说明虚函数
B. 可以进行构造函数重载
C. 可以定义友元函数
D. 不能声明其对象

是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类“都必须定义自已的版本。

A. 虚析构函数
B. 虚构造函数
C. 纯虚函数
D. 静态成员函数

关于纯虚函数和抽象类的描述中,是正确的。

A. 一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类
B. 纯虚函数本质上是函数体为空的虚函数
C. 如果将析构函数声明为纯虚函数,则必须给出它的实现
D. 只要给出纯虚函数的实现,抽象类就可以实例化

有如下程序:#includeusing namespace std;class Instrument{public:virtual void Display( )=0;};class Piano: public Instrument{public:void Display( ){/*函数体程序略*/}};int main( ){Instrument s;Instrument *p=0;//...;return 0;}下列叙述中正确的是 。

A. 语句“Insturment *p=0;”编译时出错
B. 语句“Instruments;”编译时出错
C. 类Piano中的Display函数不是虚函数
D. 类Instrument是一个虚基类

答案查题题库