未分类题

使用VC6打开考生文件夹下的工程test36_3。此工程包含一个test36_3.cpp,其中定义了类CRectangle,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义类CRectangle的数据成员width和height,它们都是int型的数据。请在注释“//**1**”之后添加适当的语句。
(2)添加类CRectangle的友元函数duplicate()的声明,其返回值类型和参数类型均为Crectangle的,请在注释“//**2**”之后添加适当的语句。
(3)完成类Crectangle的成员函数set_values的定义,把传入的参数a和b分别赋值为数据成员width和height,请在注释“//**3**”之后添加适当的语句。
(4)完成派生类Crectangle的友元函数duplicate的定义,把函数中的临时对象rectres的值返回主函数,请在注释“//** 4**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test36_3.cpp清单如下:
include <iostream.h>
class CRectangle
{
// ** 1 **
public:
void set_values (int, int);
int area (void) {return (width * height);}
// ** 2 **
};
void CRectangle::set_values (int a, int b)
{
// ** 3 **
}
CRectangle duplicate (CRectangle rectparam)
{
CRectangle rectres;
rectres.width = rectparam.width*2;
rectres.height = rectparam.height*2;
// ** 4 **
}
void main ( )
{
CRectangle rect, rectb;
rect.set_values (2,3);
rectb - duplicate (rect);
cout << rectb.area()<<end1;
}

A.cpp,其中定义了类CRectangle,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。
B.cpp清单如下:
C.h>
D.width
E.width*2;
F.height
G.height*2;
H.set_values
I.area()<<end1;


【参考答案】

(1) int widthheight;(2) friend CRectangle duplicate(CRectang......

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