综合应用题 使用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<<’[’<
参考答案:
(A)protected: int x; int y; (B)virtual void Display() const; (C)x=a; y=b; (D)ThreeDCoord::ThreeDCoord(int a, int b, int c) : Coordinate(a, b)
解析:
本题主要考查对类数据成员的定义、构造函数、派生类及虚函数的理解,是C++类知识的一个综合考核。对虚函数的定义格式及继承类构造函数的定义格式请多加注意。