问答题
使用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;
【参考答案】
(1)
int width,height;
(2)
friend CRecta......
(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)