问题
单项选择题
有如下程序:
#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,然后进行赋值和输出的操作。