三、綜合應(yīng)用題
使用VC6打開考生文件夾下的工程kt20_3。此工程包含一個kt20_3.cpp,其中定義了類CVector,,但該類的定義并不完整。請按要求完成下列操作,將程序補充完整。
(1)完成類CVector構(gòu)造函數(shù)的定義,把傳入的int型參數(shù)a和b分別賦值給類的成員變量x和y。請在注釋“//**1**”之后添加適當?shù)恼Z句。
(2)完成類CVector的"+"運算符重載函數(shù)的定義,使Cvector類的兩個對象相加時可以直接使用符號"+",并且結(jié)果仍然為類Cvector的對象,請在注釋“//**2**”之后添加適當?shù)恼Z句。
(3)在主函數(shù)中添加適當?shù)恼Z句,把類Cvector的對象a和b相加,并且把結(jié)果保存在對象c中,最后以"x,y"的形式輸出在屏幕上,請在注釋“//**3**”之后添加適當?shù)恼Z句。
源程序文件kt20_3.cpp清單如下:
#include
classCVector
{ public:
intx,y;
CVector(){};
CVector(int,int);
CVectoroperator+(CVector); };
CVector::CVector(inta,intb)
{ //**1** }
CVectorCVector::operator+(CVectorparam)
{ //**2**
temp.y=y+param.y;
return(temp); }
intmain()
{ CVectora(3,1);
CVectorb(1,2);
CVectorc;
//**3**
return0; }
【參考答案】
(1)x = a;
y = b;
(2)CVector temp;
temp.x = x + param.x;
(3)c = a + b;
cout << c.x << "," << c.y;
【試題解析】
主要考查對類的數(shù)據(jù)成員賦值與定義重載為成員函數(shù)的運算符函數(shù)的掌握,其中(2)就是運算符函數(shù)的實現(xiàn),實際上就是通過已有的函數(shù)和符號實現(xiàn)復(fù)雜的運算功能,并最終返回該類的對象,注意最后的返回值必須是對象才能滿足要求,(4)中使用對象調(diào)用類的數(shù)據(jù)成員用符號“.”。
相關(guān)推薦:2010年9月計算機等級考試沖刺備考指導(dǎo)專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |