糯米文學吧

位置:首頁 > 計算機 > 計算機二級

計算機二級C++模擬題及解析2016

C++支持多種編程範式 --面向對象編程、泛型編程和過程化編程。最新正式標準C++於2014年8月18日公佈。下文為大家整理了c++上機考試試題及答案,希望能幫助到各位考生!

計算機二級C++模擬題及解析2016

  改錯題

使用VC6 打開考生文件夾下的工程kt13_1 ,此工程包含一個源程序文件kt13_ ,但該程序運行有問題,請改正程序中的錯誤,使該程序的輸出結果為:

5

5

源程序文件kt13_ 清單如下:

#include

using namespace std;

class A{

public:

/*****************found*****************/

static int n=1;

A(){n++;};

~A(){n--;};

};

/*****************found*****************/

int n=0;

int main(){

A a;

A b[3];

A *c=new A;

c=&a;

/*****************found*****************/

cout<

cout<

return 0;

}

參考答案

(1 )將static int n=1; 改為:static int n;

(2 )將int n=0; 改為:int A::n=0;

(3 )將cout<n<

【試題解析】

(1 )在類的`聲明中只能對靜態數據成員進行引用性聲明,不能進行靜態數據成員初始化;

(2 )由於靜態數據成員是類的成員,所以在初始化時必須限定它所屬的類;

(3 )c 為類的對象指針,訪問類成員函數時使用符號“->” ,而不能用“.” 。

#include

using namespace std;

class A{

public:

/*****************found*****************/

static int n;//static int n=1;

A(){n++;};

~A(){n--;};

};

/*****************found*****************/

int A::n=0;//int n=0;

int main(){

A a;

A b[3];

A *c=new A;

c=&a;

/*****************found*****************/

cout<n<

cout<

return 0;

}