问题 单项选择题

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

问答题 简答题
单项选择题