計(jì)算機(jī)等級(jí)考試二級(jí)C++模擬題及解析8上機(jī)部分
一、改錯(cuò)題
使用VC6打開考生文件夾下的工程kt13_1,此工程包含一個(gè)源程序文件kt13_1.cpp,但該程序運(yùn)行有問題,請(qǐng)改正程序中的錯(cuò)誤,使該程序的輸出結(jié)果為:
5
5
源程序文件kt13_1.cpp清單如下:
#include<iostream.h>
classA{
public:
/*****************found*****************/
staticintn=1;
A(){n++;};
~A(){n--;}; };
/*****************found*****************/
intn=0;
intmain(){
Aa;
Ab[3];
A*c=newA;
c=&a;
/*****************found*****************/
cout<<c.n<<endl;
cout<<A::n<<endl;
return0; }
【參考答案】
(1)將static int n=1;改為:static int n;
。2)將int n=0;改為:int A::n=0;
(3)將cout<<c.n<<endl;改為:cout<<c->n<<endl;
【試題解析】
。1)在類的聲明中只能對(duì)靜態(tài)數(shù)據(jù)成員進(jìn)行引用性聲明,不能進(jìn)行靜態(tài)數(shù)據(jù)成員初始化;
。2)由于靜態(tài)數(shù)據(jù)成員是類的成員,所以在初始化時(shí)必須限定它所屬的類;
。3)c為類的對(duì)象指針,訪問類成員函數(shù)時(shí)使用符號(hào)“->”,而不能用“.”。
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)C++模擬試題15套(上機(jī))北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |