问答题
使用VC6打开考生文件夹下的工程test41_3。此工程包含一个test41_3.cpp,其中定义了类Rectangle,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)定义类Rectangle的私有数据成员left,top和fight,bottom,它们都是int型的数据。请在注释“//**1**”之后添加适当的语句。 (2)添加类Rectangle的带四个int型参数1、t、r、b的构造函数的声明,并使这四个参数的默认值均为0,请在注释“//**2**”之后添加适当的语句。 (3)添加类Rectangle的成员函数SetTop()参数为int型的t,作用为把t的值赋给类的数据成员top,添加类Rectangle的成员函数SetBottom()参数为int型的t,作用为把t的值赋给类的数据成员bottom,请在注释“//**3**”之后添加适当的语句。 (4)完成派生类Rectangle的成员函数Show()的定义,使其以格式“right-bottom point is(right,bottom)”输出,请在注释“//**4**”之后添加适当的语句。 源程序文件test41_3.cpp清单如下: #include <iostream.h> class Rectangle // ** 1 ** int right, bottom; public: // ** 2 ** ~ Rectangle(); void Assign(int 1, int t, int r, int b); void SetLeft(int t)left = t; void SetRight(int t)right = t; // ** 3 ** void SetBottom(int t)bottom = t; void Show(); ; Rectangle::Rectangle(int 1, int t, int r, int b) left = 1; top = t; right = r; bottom = b; void Rectangle::Assign(int 1, int t, int r, int b) left = 1; top = t; right = r; bottom = b; void Rectangle::Show() cout<<"left-top point is ("<<left<<","<<top<<")"<<'/n'; // ** 4 ** void main() Rectangle rect; rect.Show(); rect.Assign(100,200,300,400); rect.Show();
【正确答案】 (1) int left, top; (2) Rectangle(int 1=0, int t=0, int r=0, int b=0); (3) void SetTop(int t){top=t;} (4) cout<<"right-bottom point is ("<<right<<","<<bottom<<")"<<'/n';
【答案解析】 [解析] 主要考查考生对于类的定义和定义一般成员函数的掌握,其中(2)中为了使构造函数可以不带参数,使用了对于参数给定默认值的方法,这点需要考生注意,(4)中连续的字符流的输出可以连续使用“<<”符号实现。
提交答案
关闭