三、簡(jiǎn)單應(yīng)用題
42請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,該工程中包含一個(gè)程序文件 main.cpp,其中有類CPolygon(“多邊形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定義。請(qǐng)?jiān)跈M線處填寫適當(dāng)?shù)拇a并刪除橫線,以實(shí)現(xiàn)上述類定義。該程序的正確輸出結(jié)果應(yīng)為: 注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“//****found****”。 #include
{tout<<——<
int area(void){return(width *height);}
class CTriangle:public CPolygon{
int length;//三角形一邊長(zhǎng) int height;//該邊上的高
public:
CTriangle(int l,int h):length(1),height(h){}
//*********found*********
int area(void){return(——)/2;}
};
int main(){
CRectangle rect(4,5); CTriangle trgl(4,5);
//*********found********* ______ *ppolyl,* ppoly2; ppolyl=▭
ppoly2=&trgl;
ppolyl->printarea(); ppoly2->printarea(); retun 0;
參考解析:
(1)virtual int area(void)=0;
(2)area()
(3)length*height
(4)CPolygon
四、綜合應(yīng)用題
43請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程proj3,其中聲明的DataList類,是一個(gè)用于表示數(shù)據(jù)表的類。s0rt成員函數(shù)的功能是將當(dāng)前數(shù)據(jù)表中的元素升序排列。請(qǐng)編寫這個(gè)sort函數(shù)。程序的正確輸出應(yīng)為: .
排序前:7,1,3,11,6,9,12,10,8,4,5,2 排序后:l,2,3,4,5,6,7,8,9,10,11,12
要求:
補(bǔ)充編制的內(nèi)容寫在“//********33********”與“//********666********”兩行之問。不得修
改程序的其他部分。
注意:程序最后將結(jié)果輸出到文件。ut.dat中。輸出函數(shù)writeToFile已經(jīng)編譯為。obj文件,并且在本程序
調(diào)用。
//DataList.h
#inClude using namespaCe std; Class DataList{//數(shù)據(jù)表類
int len;
double*d: publiC:
DataList(int len,double data[]=NULL);。DataList(){delete[]d;}
int length(Constt retum len;}//數(shù)據(jù)表長(zhǎng)度(即數(shù)據(jù)元素的個(gè)數(shù)) double getElement(int i)Const{return d[i];}
void sort();//數(shù)據(jù)表排序
void show()Const;//顯示數(shù)據(jù)表}.
void writeToFile(Char*,Const DataList&).//main.Cpp
#inClude”DataList.h”
DataList::DataList(int len,double data[]):len(1en){ d=new double[1en];
for(int i_0;i
d[i]=(data==NULL?0.0:data[i]);
}
void DataList::sort(){//數(shù)據(jù)表排序//********333********
//********666********}
void DataList::show()Const{//顯示數(shù)據(jù)表
for(int i=0;i
}
int main(){
double S[]={7,1,3,11,6,9,12,10,8,4,5,2}; DataList list(12,S);
Cout<<”排序前:”; list.show();
list.sort();
Cout<
writeToFile(””,list); return 0;
}
參考解析:
for(inti=0;i
for(int j=i;j
//從i+1處遍歷數(shù)組d
if(d[i]>d[j])
//d[j]和d[j]比較人,如果大于,就d[i]和d[j]值交換
{
inttemp=d[i];
//把臨時(shí)整型變量temp賦值為cJ[i]
d[i]=d[j];//把d[j]賦值給d[i]
d[j]=temp;//把temp值賦給d[j]
}
42請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,該工程中包含一個(gè)程序文件 main.cpp,其中有類CPolygon(“多邊形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定義。請(qǐng)?jiān)跈M線處填寫適當(dāng)?shù)拇a并刪除橫線,以實(shí)現(xiàn)上述類定義。該程序的正確輸出結(jié)果應(yīng)為: 注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“//****found****”。 #include
{tout<<——<
int area(void){return(width *height);}
class CTriangle:public CPolygon{
int length;//三角形一邊長(zhǎng) int height;//該邊上的高
public:
CTriangle(int l,int h):length(1),height(h){}
//*********found*********
int area(void){return(——)/2;}
};
int main(){
CRectangle rect(4,5); CTriangle trgl(4,5);
//*********found********* ______ *ppolyl,* ppoly2; ppolyl=▭
ppoly2=&trgl;
ppolyl->printarea(); ppoly2->printarea(); retun 0;
參考解析:
(1)virtual int area(void)=0;
(2)area()
(3)length*height
(4)CPolygon
四、綜合應(yīng)用題
43請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程proj3,其中聲明的DataList類,是一個(gè)用于表示數(shù)據(jù)表的類。s0rt成員函數(shù)的功能是將當(dāng)前數(shù)據(jù)表中的元素升序排列。請(qǐng)編寫這個(gè)sort函數(shù)。程序的正確輸出應(yīng)為: .
排序前:7,1,3,11,6,9,12,10,8,4,5,2 排序后:l,2,3,4,5,6,7,8,9,10,11,12
要求:
補(bǔ)充編制的內(nèi)容寫在“//********33********”與“//********666********”兩行之問。不得修
改程序的其他部分。
注意:程序最后將結(jié)果輸出到文件。ut.dat中。輸出函數(shù)writeToFile已經(jīng)編譯為。obj文件,并且在本程序
調(diào)用。
//DataList.h
#inClude using namespaCe std; Class DataList{//數(shù)據(jù)表類
int len;
double*d: publiC:
DataList(int len,double data[]=NULL);。DataList(){delete[]d;}
int length(Constt retum len;}//數(shù)據(jù)表長(zhǎng)度(即數(shù)據(jù)元素的個(gè)數(shù)) double getElement(int i)Const{return d[i];}
void sort();//數(shù)據(jù)表排序
void show()Const;//顯示數(shù)據(jù)表}.
void writeToFile(Char*,Const DataList&).//main.Cpp
#inClude”DataList.h”
DataList::DataList(int len,double data[]):len(1en){ d=new double[1en];
for(int i_0;i
d[i]=(data==NULL?0.0:data[i]);
}
void DataList::sort(){//數(shù)據(jù)表排序//********333********
//********666********}
void DataList::show()Const{//顯示數(shù)據(jù)表
for(int i=0;i
}
int main(){
double S[]={7,1,3,11,6,9,12,10,8,4,5,2}; DataList list(12,S);
Cout<<”排序前:”; list.show();
list.sort();
Cout<
writeToFile(””,list); return 0;
}
參考解析:
for(inti=0;i
for(int j=i;j
//從i+1處遍歷數(shù)組d
if(d[i]>d[j])
//d[j]和d[j]比較人,如果大于,就d[i]和d[j]值交換
{
inttemp=d[i];
//把臨時(shí)整型變量temp賦值為cJ[i]
d[i]=d[j];//把d[j]賦值給d[i]
d[j]=temp;//把temp值賦給d[j]
}