题库 题库

【简答题】

综合应用题
使用VC6打开考生文件夹下的工程kt14_3。此工程包含一个kt14_3.cpp,其中定义了二维坐标类Coordinate和三维坐标类ThreeDCoord,其中ThreeDCoord类由Coordinate类public派生,但两个类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义类Coordinate的保护数据成员x和y,它们都是int型的数据,代表二维坐标的横纵坐标值。请在注释“//**1**”之后添加适当的语句。
(2)根据类Coordinate定义后的成员函数Display的实现,补充该函数在类Coordinate定义体内的声明,Display为二维坐标类的虚函数。请在注释“//**2**”之后添加适当的语句。
(3)完成二维坐标类Coordinate的构造函数,将参数a和b分别赋值给数据成员x和y。请在注释“//**3**”之后添加适当的语句。
(4)根据ThreeDCoord类构造函数的声明,补充ThreeDCoord构造函数的实现,参数a和b通过调用基类的构造函数来初始化基类的数据成员x和y,c赋值给数据成员z。请在注释“//**4**”之后添加适当的语句。
输出结果如下:
[1,2]
[3,4,5]
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件kt14_3.cpp清单如下:
#include
classCoordinate
{ protected:
//**1**
public:
Coordinate(inta=0,intb=0);
//**2** };
Coordinate::Coordinate(inta,intb)
{ //**3** }
voidCoordinate::Display()const
{ cout<<'['<<X<<","<<Y<<']'<<>
classThreeDCoord:publicCoordinate
{ intz;
public:
ThreeDCoord(inta=0,intb=0,intc=0);
virtualvoidDisplay()const; };
//**4**
voidThreeDCoord::Display()const
{ cout<<'['<<X<<","<<Y<<","<<Z<<']'<<>
voidmain()
{ Coordinatec(1,2);
ThreeDCoordt(3,4,5);
c.Display();
t.Display(); }

参考答案

(1)protected:
int x;
int y;
(2)virtual void Display() const;
(3)x=a; y=b;
(4)ThreeDCoord::ThreeDCoord(int a, int b, int c) : Coordinate(a, b)

相关试题