问答题

使用VC6打开考生文件夹下的工程test42_3。此工程包含—个test42_3.cpp,其中定义了类Cpolygon、COutput和CTriangle,其中CTriangle类由Cpolygon和COutput类public派生,但三个类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义类CPolygon的保护数据成员width和height,它们都是int型的数据。请在注释“//**1**”之后添加适当的语句。
(2)完成类CPolygon的成员函数set_values(int a,int b),使参数a和b分别赋值给保护数据成员width和height,请在注释“//**2**”之后添加适当的语句。
(3)完成类Coutput的成员函数output(int)的定义,将传入的参数为血型的i输出到屏幕并换行,请在注释“//**3**”之后添加适当的语句。
(4)完成派生类CTriangle的声明,它由Cpolygon和COutput类public派生,请在注释“//**4**”之后添加适当的语句。
源程序文件test42_3.cpp清单如下:
#include <iostream.h>
class CPolygon

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

// ** 2 **

;
class COutput

public:
void output(int i);
;
void COutput::output(int i)

// ** 3 **

// ** 4 **

public:
int area (void)

return (width * height / 2);


int main ()

CTriangle trgl;
trgl.set_values (4,5);
trgl.output (trgl.area());
return 0;

【参考答案】

(A)
int width, height;
(B)
width=a; height=b;......

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