下列关于虚函数的描述中,正确的是(    )

下列关于虚函数的描述中,正确的是(    )


A、

使用虚函数就一定产生多态性


B、

虚函数只能是类中的一个成员函数,但不能是静态成员


C、

一个类中仅可以声明一个纯虚函数


D、

在构造函数和析构函数中调用虚函数采用动态联编


【正确答案】:B
【题目解析】:

静态成员函数不能是虚函数。包含虚函数的类称为“多态类”。故B正确。

关键字virtual指示C++编译器对调用虚函数进行动态联编。这种多态性是程序运行到需要的语句处才动态确定的,所以称为运行时的多态性,因此A错误。

一个类可以说明多个纯虚函数,包含有纯虚函数的类称为抽象类,因此C错误。

在构造函数和析构函数中调用虚函数采用静态联编,即它们所调用的虚函数是自己的类或基类中定义的函数,但不是任何在派生类中重定义的虚函数,因此D错误。