一、填空題
1.在面向物件方法中,類之間共享屬性和操作的機制稱為【1】。
【參考答案】
1.【1】繼承
2.一個專案具有一個專案主管,一個專案主管可管理多個專案,則實體“專案主管”與實體“專案”的聯絡屬於【2】的聯絡。
【參考答案】
2.【2】一對多(或1:N)
son結構化程式設計方法是英國的son提出的,它是一種面向【3】的設計方法。
【參考答案】
3.【3】資料結構
4.軟體設計模組化的目的是【4】。
【參考答案】
【4】降低複雜性
5.在樹結構中,樹根結點沒有【5】。
【參考答案】
【5】前件
6.C++中封裝性、繼承性和【6】是面向物件思想的主要特徵。
【參考答案】
【6】 多型性
7.下列for語句的迴圈次數為【7】。
for(int a=0,b=1;b&&a<5;a++);
【參考答案】
【7】5
8.C++程式是從【8】函式開始執行的。
【參考答案】
【8】main
9.派生類建構函式的執行順序是先執行【9】的建構函式,然後執行成員物件的建構函式,最後執行【10】的建構函式。
【參考答案】
9.【9】基類 【10】派生類
10.C++語言程式的註釋可以出現在程式中的任何地方,一個註釋以【11】作為開始和結束的標記。
【參考答案】
【11】/**/
11.用以下語句呼叫庫函式malloc,使字元指標st指向具有11個位元組的動態儲存空間,請填空。
st=(char*)【12】;
【參考答案】
【12】malloc(11)或malloc(sizeof(char)*11)
12.下列程式在建構函式和解構函式中申請和釋放類的資料成員int *a,申請時使用形參b初始化a,請填空。
class A
{
public:
A(int b);
~A();
private:
int *a;
};
A::(int b)
{【13】;}
A::~A()
{【14】;}
【參考答案】
12.【13】a=new int(b) 【14】delete a
13.將x+y*z中的“+”用成員函式過載,“*”用友元函式過載應寫為【15】。
【參考答案】
【15】ator+(operator *(y,z))
二、改錯題
使用VC6開啟考生資料夾下的工程kt1_1,此工程包含一個源程式檔案kt1_,但該程式執行有問題,請改正程式中的錯誤,使程式的輸出結果為:
Whichact(aorb)?b
act1
act2
Bact3
Bact4
Bend
源程式檔案kt1_清單如下:
#include
classA
{public:
virtualvoidact1(){cout<<"act1n";act2();}
voidact2(){cout<<"act2n";act3();}
voidact3(){cout<<"Aact3n";act4();}
virtualvoidact4{cout<<"Aact4n";act5();}
voidact5(){cout<<"Aendn";}
};
classB:publicA
{
voidact3(){cout<<"Bact3n";act4();}
voidact4(){cout<<"Bact4n";act5();}
voidact5(){cout<<"Bendn";}
};
voidmain(void)
{
charc;
A*a;
cout<<"Whichact(aorb)?";
cin<
if(c=='a')
a=newA;
else
a=newB;
a->act1();
deletea;