单选题 有如下程序:
#include<iostream>
using namespace std;
class Power{
public:
Power(int x):val(x) {}
______
protected:
int val;
};
class Square:public Power{
public:
Square(int x):Power(x) {}
void Display() {cout<<val<<"的平方是"<<val*val<<endl; }
};
int main(){
Power*p=new Square(3);
p->Display();
delete p;
return 0;
}
若运行时的输出结果为“3的平方是9”,则划线处缺失的语句可能是______。
【正确答案】 B
【答案解析】[解析] 由题意可知,基类指针p指向的是派生类的对象,当p调用Display()时,输出的结果是派生类中的Display(),可知Display()必为虚函数,这样才能满足动态联编。虚函数的定义是在声明前加关键字virtual,选项A不是虚函数,错误;选项C、D定义虚函数的格式不对,错误;答案为B选项。