3.综合应用题
使用VC6打开考生文件夹下的工程test17_3,此工程包含一个源程序文件kt2_3.cpp,其中定义了用于表示点的类Point和表示内容的类Text以及二者的派生类CircleWithText,但它们的定义并不完整。请按要求完成下列操作,将它们的定义补充完整。
(1)定义类Point的构造函数,请使用参数列表的形式将成员函数x和y分别初始化为参数x1和y1的值。请在注释“//**1**”之后添加适当的语句。
(2)完成类Text的构造函数Text(char*str)的定义,将char型的str指向的内容赋值给text并且输出str所指向的内容,请在注释“//**2**”之后添加适当的语句。
(3)定义类CircleWithText的构造函数CircleWithText(intcx,intcy,char*msg),int型的cx和cy用于赋值给x和y,char型的指针*msg用于赋值给text,请在注释“//**3**”之后添加适当的语句。
输出结果如下:
Point:34
hello
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序如下:
#include
#include
classPoint
{intx,y;
public:
//**1**
{cout<<"Point:"< ~Point(){}}; classText {chartext[100]; public: Text(char*str) {//**2**} ~Text(){}}; classCircleWithText:publicPoint,publicText {public: //**3** {} ~CircleWithText(){}}; voidmain() {CircleWithTextcm(3,4,"hello");} 【参考答案】 (1)Point(int x1=0, int y1=0) :x(x1), y(y1) (2)strcpy(text,str); cout< (3)CircleWithText(int cx,int cy, char *msg):Point(cx,cy),Text(msg) 【试题解析】 本题主要考查考生对于多继承中类的定义和派生类构造函数的定义的掌握。注意学会使用参数列表的形式定义派生类的构造函数,在列表中的格式是基类名1(向基类传递的参数列表),基类名2(向基类传递的参数列表)。
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |