问题 单项选择题

有如下程序:
#include <iostream>
using namespace std;
class shapes

protected:
int x, y;
public:
void setvalue(int d, int w=O)

x=d;
y=w;

virtual void disp()=O;
;
class square : public shapes

public:
void disp ()

cout<<x*y<<end1;

;
int main ( )

shapes *ptr;
square s1;
ptr=&s1;
ptr->setvalue (10, 5) ;ptr->disp();
return 0;

执行上面的程序将输出( )。

A.50

B.5

C.10

D.15

答案

参考答案:A

解析: 本题中基类shapes是一个抽象类(拥有纯虚函数disp())。在主函数中定义了抽象类的对象指针ptr,并给它赋值派生类square的对象s1,然后进行赋值和输出的操作。

选择题
单项选择题