第 1 頁(yè):選擇題 |
第 3 頁(yè):程序改錯(cuò)題 |
第 4 頁(yè):簡(jiǎn)單應(yīng)用題 |
第 5 頁(yè):綜合應(yīng)用題 |
四、綜合應(yīng)用題
43(1)應(yīng)添加“#defineTRUE1”。
(2)應(yīng)添加“classA1;”。
(3)應(yīng)添加“friendboolfunc(A2&objl,Al&obj2);”。
(4)將“retllin”補(bǔ)充完整為“returnobjl.m_A2==TRUE&&obj2.m_A1==TRUE;”。
【解析】#define命令一般用一個(gè)指定的標(biāo)識(shí)符(即宏
名)來(lái)代表一個(gè)字符串,其定義形式一般為“#define宏名(參數(shù)表)字符串”,因此第1處應(yīng)添加“#defineTRUEl”。類(lèi)聲明格式為“class<類(lèi)名>;”,故第2處應(yīng)添加“class
A1;”。友元不是本類(lèi)的成員函數(shù),在它的函數(shù)體內(nèi)可以通過(guò)對(duì)象名來(lái)訪問(wèn)類(lèi)的私有成員和保護(hù)成員。友元函數(shù)是在類(lèi)聲明中由關(guān)鍵字friend修飾的非成員函數(shù),第3處應(yīng)添加“friendboolfune(A2&objl,Al&obj2);”。函數(shù)func返回變量m_A2和m_A1的邏輯與運(yùn)算結(jié)果,因此第4處的語(yǔ)句應(yīng)改為“returnobj1.m_A2==TRUE&&obj2.m_A1==TRUE;”。
參考解析:
使用VC++6.0打開(kāi)考生文件夾下的源程序文件3.cpp。其中定義的類(lèi)不完整,按要求完成下列撮作,將類(lèi)的定義補(bǔ)充完整。
(1)利用define定義常量TRUE為1,定義常量FALSE為0,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
(2)在類(lèi)A2前增加A1的聲明,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
(3)在類(lèi)Cl中聲明友元函數(shù)boolrune(A2&a,A1&b),請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
(4)實(shí)現(xiàn)函數(shù)boolfunc(A2&obj1,Al&obj2)的功能,檢查兩個(gè)類(lèi)的值都為T(mén)RUE,則返回TRUE,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
注意:除在指定位置添加語(yǔ)句之外,不要改動(dòng)程序中的其他內(nèi)容。
試題程序:
#include(iostream.h>
//********1********
#
defineFALSE0
//********2********
classA2
{
private:
boolm_A2;
friendboolfunc(A2&objl,A1&obj2);
public:
A2()
{
m_A2=FALSE。
}
public:
voidsetA2(booln)
{
m_A2=n;
}
};
elaSSA1
{
private:
boolm_A1;
//********3*********
public:
A1()
{
m_A1=TRUE;
}
public:
voidsetAl(booln)
{
m_A1=n;
}
};
boolfunc(A2&objl,A1&obj2)
{
//********4********
return
}
intmain()
{
A20bj0;
A10bj1;
cout<
obj0.setA2(TRUE);
objl.setAl(TRUE);
cout<
return0;
}
相關(guān)推薦:
各地2015全國(guó)計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間及入口匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |