问题 单项选择题

有如下程序:

#include < iostream >

using 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.语句“Instrument s;”编译时出错

C.类Piano中的Display函数不是虚函数

D.类Instrument是一个虚基类

答案

参考答案:B

解析:

本题考查纯虚函数和抽象类,纯虚函数是在声明虚函数时被“初始化”为0的函数,包含纯虚函数的类为抽象类,抽象类不能被实例化,所以语句“Instrument s;”在编译时出错。

单项选择题
单项选择题