2[簡(jiǎn)答題]
請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2。此工程中包含一個(gè)程序文件main.cpp,其中有“部門”類Department和“職工”類Staff的定義,還有主函數(shù)main的定義。在主函數(shù)中定義了兩個(gè)“職工”對(duì)象,他們屬于同一部門。程序展示,當(dāng)該部門改換辦公室后,這兩個(gè)人的辦公室也同時(shí)得到改變。請(qǐng)?jiān)诔绦蛑械臋M線處填寫適當(dāng)?shù)拇a并刪除橫線,以實(shí)現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)為:
改換辦公室前:
職工號(hào):0789姓名:張三部 門:人事處 辦公室:521
職工號(hào):0513姓名:李四部門:人事處 辦公室:521
改換辦公室后:
職工號(hào):0789姓名:張三部門:人事處 辦公室:311
職工號(hào):0513姓名:李四部 門:人事處 辦公室:311
注意:只在橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容。
參考解析:【參考答案】 (1)strcpy(this- >office,office);
(2)return office;
(3)dept(my_dept)
(4)dept.changeOfficeTo( ”311”);
【考點(diǎn)分析】
本題考查的是Department類和Staff類,其中涉及構(gòu)造函數(shù)、strcpy()函數(shù)和const函數(shù)。復(fù)制字符串使用函數(shù)strcpy,構(gòu)造函數(shù)的成員列表初始化時(shí)不能初始化指針。
【解題思路】
(1)主要考查考生對(duì)strcpy函數(shù)的掌握情況,根據(jù)上一條語句:strcpy(this- >name,name);可知,這條語句復(fù)制的是office,即strcpy(this->office,office);。
(2)主要考查考生對(duì)成員函數(shù)的掌握情況,根據(jù)語句的注釋:返回辦公室房號(hào)可知,要填寫的是一條return語句。在私有成員里:char office[20];//部門所在辦公室房號(hào),表明office即為辦公室房號(hào)。因此直接返回office即可。
(3)主要考查考生對(duì)構(gòu)造函數(shù)的掌握情況,根據(jù)函數(shù)體:
strcpy(this->staff_id,my_id);
strcpy(this->name,my_name);
可知,只有dept沒有初始化,而空格前有字符“:”,這是成員列表初始化的標(biāo)識(shí)符,因此填寫dept(my_dept)即可。
(4)主要考查考生對(duì)成員函數(shù)的調(diào)用的掌握情況,根據(jù)題目要求:人事處辦公室由521搬到311。在Department類中有函數(shù)void changeOfficeTo(constchar * office)可以修改辦公室的房間號(hào),直接調(diào)用即可。
【解題寶典】
主要考查考生對(duì)strcpy()函數(shù)及構(gòu)造函數(shù)的掌握情況,strcpy(參數(shù)一,參數(shù)二)函數(shù)的功能是復(fù)制參數(shù)二的字符串給參數(shù)一。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2017年全國(guó)計(jì)算機(jī)等級(jí)考試考前必做試題及答案匯總
各地2017年全國(guó)計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間匯總
2017年計(jì)算機(jī)等級(jí)考試備考經(jīng)驗(yàn)及應(yīng)試技巧匯總
【費(fèi)用】各地2017年全國(guó)計(jì)算機(jī)等級(jí)考試費(fèi)用匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |