計算機二級C++改錯題小結
做了幾十套題,發現題的型別及考點都差不多。來來回回考這幾個考點。只要弄明白了做題的規律,相信還是很簡單的。下面是我總結的改錯題的考點:
1.釋放指標*a:delete[] a。如果只有一個值則是delete a。
2.根據題目要求改正,例如:題目要求輸入1,2,3,4,5,6,7,8,9,10 定義的類就應該是
MyClass obj(10)引數為10。
3.建構函式和解構函式都沒有返回型別。例如:void MyClass(int i)應該改成
MyClass(int i)
4.函式過載格式要正確。例如 int Max(int x,int y) int Max(int x,int y,int z=0)就應該改成
int Max(int x,int y,int z)。
5.輸出時直接呼叫私有成員變數。例如 value已經定義為私有變數,GetValue函式
返回值為value,顯示輸出寫成 cout <<"the value is"<<value()<<endl;就是錯誤的,
應該改成cout<<"the value is"<< obj.GetValue()<<endl;
6.類外宣告函式要寫明作用域。MyClass::SetValue()
7.建構函式的成員初始化列表的語法。例如 Point(int x,int y):_x(x),_y(y){} 。還有就是
派生類的建構函式要先對基類初 始化,應使用成員列表初始化。(此類題很多)
8.函式是否用加const的判斷。如果值在函式體內可變,則不能用const修飾。
9.友元函式,及友元函式的呼叫。可直接呼叫不用寫明作用域。
10.函式形參的有無以及其寫法。
11.建構函式不能為private
12.指標*p 的理解。*p和p的含義。以及和&p的區別。
13.私有成員變數只能宣告不能初始化。例如private:int count=0;為錯。應該是
private:int count;
14.指標呼叫類的成員函式時不能用"."而應該用"->"。
15.模板函式的格式。
16.對類的成員變數和函式的使用是否正確。
17.複製建構函式的形參都是引用。
18.對"++"符號的運用。一般都是位置放錯了
19.break語句的使用。在switch語句中,跳出使用break。
20.strcpy函式的使用。格式應該是strcpy(to,from)
21.最後就是根據題目要求所要改的錯誤。比如 題目要求輸出intensity=0時是關閉,
錯誤的地方是intensity=1。
差不多就是這些吧,其中第7第12個是很多的,而且也比較容易錯的。應該多多注意。