第 1 頁:選擇題 |
第 5 頁:基本操作題 |
第 6 頁:綜合應(yīng)用題 |
二、基本操作題
41請使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,該工程含有一個源程序文件pn,jl.cpp。其中位于每個注釋“//ERROR 木}}水found}}水木”之后的一行語句存在錯誤。請改正這些錯誤,使程序的輸出結(jié)果為:
The value is 10
注意:只修改注釋“//ERROR **** found****”的下一行語句,不要改動程序中的其他內(nèi)容。
//pmjl.cpp
#include
using namespace std;
class MyClass{
int value;
public:
//ERROR********found*********
void MyClass(int val):value(val){}
int GetValue()const{return value;}
void SetValue(int val);
};
//ERROR********found********
inline void SetValue(int val){value=val;}
int main()
MyClass obj(O);
obj.SetValue(10);
//ERROR********found********下列語句功能是輸出obj的成員value的值
tout<<”The value is”<
return 0;
}
參考解析:
(1)MyClass(int val):value(val){}
(2)void MyClass::SetValue(int val){value=val;}
(3)cout“”The value is”“obj.GetValue()“end1;
三、簡單應(yīng)用題
42請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,其中有矩陣基類MatrixBase、矩陣類Matrix和單位陣UnitMatrix的定義,還有main函數(shù)的定義。請在橫線處填寫適當(dāng)?shù)拇a并刪除橫線,以實現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)為:
1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動程序中的其他內(nèi)容,也不要刪除或移動“//t+++found母
***”。
#nClude using namespaCe std; //矩陣基礎(chǔ)類,一個抽象類
Class MatrixBase{ int rows,Cols; publiC:
MatrixBase(int rows,int Cols):roWS(rows),Cow(Cols){} int getRows()Const{retum rows;}//矩陣行數(shù)
int getCols()Const{return Cols;}//矩陣列數(shù)
virtual double getElement(int r,int C)Const=0;//取第i個元素的值 void show()Const{//分行顯示矩陣中所有元素
for(int i=0;i
for(int j=0;j
} }; //矩陣類
Class Matrix:publiC MatfixBase{ double*val;
publiC: //**********found**********
Matrix(int rows,int Cols,double in[]=NULL):——{ //**********found**********
val=;
for(int i=0:i
val[i]=(m==NULL?0.0:Ill[i]);
}
一Matrix(){delete[]val;} double getElement(int r,int C)Const{retum val[r*getCols()+C];}
};
//單位陣(主對角線元素都是l,其余元素都是0的方陣)類 Class UnitMatrix:publiC MatrixBase{
publiC:
UnitMatrix(int rOWS):MatrixBase(rows,rows){} //單位陣行數(shù)列數(shù)相同
double getElement(int r,int C)Const{ //**********found**********
if(_____)retum l.0; retum 0.0;
} }; int main(){
MatrixBase*m;
double d[][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}}; ITI=new Matrix(3,5,(double*)d);
m→show(); delete m;
Cout<
m=new UnitMatrix(6); Ill→show();
delete m; retum0; } .
參考解析:
(1)getElemenl(1,i)
f2)MatrixBase(rows,cols)
(3)flew double[rows*cols]
(4)r==C
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |