问答题

使用VC6打开考生文件夹下的工程test3_3,此工程包含一个源程序文件test3_3.cpp,其中建立了普通的基类base用于存储边的信息,建立派生类triangle和square,用于存储三角形和正方形的信息。按要求完成下列操作,将类定义补充完整。
(1)定义基类base的保护数据成员x和y用于记录边的长度,它们都是int型的数据。请在注释“//**1**”之后添加适当的语句。
(2)完成基类base默认构造函数的定义,把数据成员x和y分别初始化为参数a和b的值,要求使用作用域符“::”。请在注释“//**2**”之后添加适当的语句。
(3)完成派生类triangle函数disp的定义,使其以“三角形面积:”的格式将三角形的面积输出到屏幕上。请在注释“//**3**”之后添加适当的语句。
(4)添写派生类square的默认构造函数的定义,使其调用基类的构造函数,记录下正方形的边长信息a,其缺省值为0。请在注释“//** 4 **”之后添加适当的语句。
输出结果如下:
三角形面积:200
正方形面积:400
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test3_3.cpp清单如下:
#include<iostream.h>
class base

protected:
//** 1 **
public:
base(int a,int b)

//** 2 **

virtual void disp()cout<<"调用base基类"<<endl;)
;
class triangle:public base

public:
triangle(int a,int b):base(a,b);
void disp()

//** 3 **

;
class square:public base

public:
//** 4 **
void disp()cout<<"正方形面积:"<<x*y<<endl;
;
void main()

base *p;
triangle t(20,20);
square s(20);
p=&t;
p->disp();
p=&S;
p->disp();

【参考答案】

(A)
int x;
int y;
(B)
base::x=a;
ba......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)