11[填空題]C++語言具有面向對象方法中要求的三大特性: ( ) 、 ( ) 和 ( ) 。
參考解析:封裝性 、 繼承性 和 多態性 。
12[簡答題]指出下列數據中哪些可作為C++的合法常數?
(a) 588918 (b) 0129 (c) 0x88a (d) e-5 (e) ″A″
(f) .55 (g) ’\\’ (h) 0XCD (i) 8E7 (j) π
參考解析:(a)、(c)(e)、(f)、(g)、(h)、(i)
13[單選題] 有如下程序:
#include
usingnamespacestd;
classA
{
public:
A(){cout<<"A";}
~A(){cout<<"~A";}
};
classB
{
A*P:
public:
B(){cout<<"B";p=newA;}
~B(){cout<<"~B";deleteP;}
};
intmain()
{
Bobi;
return0;
}
執行這個程序的輸出結果是( )。
A.BAA~A~B~AB.ABA~B~A~AC.BAA~B~A~AD.ABA~A~B~A
參考答案:B
參考解析:本題考查的是類的構造函數和析構函數。派生類構造函數的執行順序:首先調用基類的構造函數,調用順序按它們被繼承時說明的順序;然后調用子對象的構造函數,調用順序按它們在類中說明的順序;最后是派生類構造函數中的內容。因此本題中,首先調用基類構造函數輸出A,然后調用子對象的構造函數輸出B,P=newA再調用類A的構造函數輸出A。析構函數的調用順序和構造函數的調用順序相反。
14[單選題]開發軟件時對提高開發人員工作效率至關重要的是
A.操作系統的資源管理功能
B.先進的軟件開發工具和環境
C.程序人員的數量
D.計算機的并行處理能力
參考答案:B
15[單選題] 下列關于模板形參的描述中,錯誤的是( )。
A.模板形參表必須在關鍵字template之后
B.模板形參表必須用括弧( )括起來
C.可以用class修飾模板形參
D.可以用typename修飾模板形參
參考答案:B
參考解析:主要考查函數模板的定義。聲明一個函數模板的格式為“template<<模板形參表聲明>><函數聲明>”,其中<模板形參>具有typename<參數名>、class<參數名>、<類型修飾><參數名>三種形式,形參用“<>”括起來。
16[單選題]
A.n=0B.n=1C.n=2D.n=3
參考答案:A
參考解析:
17[單選題] 有下列程序:
#include
voidmain( )
{inta=1,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!=2‖c--!=3)
printf("%d,%d,%d\n",a,b,c);
elseprintf("%d,%d,%d\n",a,b,c);
elseprintf("%d,%d,%d,%d\n",a,b,c);
}
程序運行后的輸出結果是( )。
A.1,2,3B.1,3,2C.1,3,3D.3,2,1
參考答案:C
參考解析:在程序中,當執行第一條if語句時,進行邏輯語句的判斷,因為變量b的初值為2,所以其值加1后為3,與2不相等,所以if語句中的邏輯表達式的值為假,則程序執行最后一條elseprintf語句。輸出變量為a,b,c,當前數值為1,3,3。所以正確答案為選項C。
18[簡答題]請使用VC6或使用【答題】菜單打開考生文件夾pr092下的工程pros2。此工程中包含一個程序文件main.cpp,其中有“部門”類Department和“職工”類Staff的定義,還有主函數main的定義。在主函數中定義了兩個“職工”對象,他們屬于同一部門。程序展示,當該部門改換辦公室后,這兩個人的辦公室也同時得到改變。請在程序中的橫線處填寫適當的代碼并刪除橫線,以實現上述類定義。此程序的正確輸出結果應為:
改換辦公室前:
職工號:0789姓名:張三部門:人事處辦公室:521
職工號:0513姓名:李四部門:人事處辦公室:521
改換辦公室后:
職工號:0789姓名:張三部門:人事處辦公室:311
職工號:0513姓名:李四部門:人事處辦公室:311
注意:只在橫線處填寫適當的代碼,不要改動程序中的其他內容,也不要刪除或移動“//****found****”。
#include
using namespace std;
class Department{ //“部門”類
public:
Department(const char*name,const char*office){
strcpy(this一>name,nanle);
//**********found**********
}
const char*getName()const{return name;}//返回部門名稱
//**********found**********
const char*getOffice()const{________} //返回辦公室房號
void changeOfficeTo(const char*office){ //改換為指定房號的另一個辦公室
strcpy(this一>office,office);
}
private:
char name[20];//部門名稱
char office[20];//部門所在辦公室房號
};
class staff{//“職工”類
public:
//**********found**********
Staff(const char*my—id,const char木my_name,Department&my_dept):——{
strcpy(this一>staff id,my_id);
strcpy(this一>name,my_name);
}
const char*getlD()const{return staff_id;}
const char*getName()consl{return name;}
Department getDepartment()const{return dept;} char staff=id[10];//職工號
char name[20];//姓名
Department&dept;//所在部門
}; void showStaff(Staff&staff){
cout<<”職工號:”<
cout<<”姓名:”<
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: