}
voidmain()
{
Aa,b;
a.Show();
b.Show();
}
六、程序设计题(本大题共l小题,共10分)
53.利用LOCATION类,使用继承定义圆类CIRCLE,圆由圆心和半径构成。
提供得到圆心坐标和半径的成员函数、以及计算圆的周长和面积的成员函数。
在主程序中创建两个圆A和B,圆心坐标分别为(0,3)、(3,7),按如下格式输出两个圆的圆心坐标、周长和面积,并计算和输出两个圆的圆心之间的距离。
A:
(xl,y1,r1),Girth=g1,Area=a1
B:
(x2,y2,r2),Girth=g2,Area=a2
A(xl,y1),B(x2,y2),Distance=d
定义LOCATION类,该类没有“继承”等现象。
注意二维坐标点之间的距离公式。
classLOCATION{
doublex,y;
public:
virtualdoublegetx()const{returnx;};
virtualdoublegety()const{returny;};
virtualdoubledist(LOCATION&s)const;
LOCATION(doublex,doubley):
x(x),y(y){};};
doubleLOCATION:
:
dist(LOCATION&s)const{
doublexd=s.x—x,yd=s.y—y;
returnsqrt(xd*xd+yd*yd);}
2010.1答案
一、选择题
12345678910
BDBDDDBCCA
11121314151617181920
AACAACADCB
二、填空题
21reverse22usingnamespacestd;23十六进制常量24intx;int&a=x;25运算数
266427基类28对象的引用29实例连接30class31类32this
33charFun(int,double);34独立定义35volatile36构造函数
37vectorv(20,1);38capacity()39运行时40operator=
三、改错题
41#definePI3.14;错误原因:
宏定义中PI原样代替3.14;使i=2*PI*r;语句错误
修改意见:
将该命令修改为:
#definePI3.14
A(inta=0,b=1)错误原因:
第二个参数b定义未给出参数类型
修改意见:
A(inta=0,intb=1)
43Aa(“x”);错误原因:
a对象定义,需调用A类构造函数,
而该函数形参为char类型,实参是字符串,类型不一致
修改意见:
将Aa(‘x’);
44本题可以正确编译、执行,估计欲考察内容cls.print(‘c’,1);与cls.print(‘x’,‘y’);
此时print函数调用对应的定义为voidprint(inta,intb){...}
45Class*cls ;cls->func(10) ;
错误原因:
cls是指针变量,未指向任何对象,不能调用func函数
修改意见:
定义一个Class对象,用cls指向该对象,如:
Classc;Class*cls=&c;
四、完成程序
46breakx%7==047Class(inta)intget()
48var=newint(num);deletevar;49Base&tt.print();
50classT1,classT2T1x,T2y
五、程序分析题
51Class:
:
var=0
c1.var=1
c2.var=2
52constructor
constructor
c=20
c=20
destructor
destructor
六、程序设计题
53本题答案略