使用VC6打开考生文件夹下的工程test41_3。此工程包含一个test41_3.cpp,其中定义了类Rectangle,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)定义类Rectangle的私有数据成员left,top和fi

admin2010-02-08  12

问题 使用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)中连续的字符流的输出可以连续使用“<<”符号实现。
转载请注明原文地址:https://kaotiyun.com/show/n7ID777K
0

最新回复(0)