当前位置:学者斋 >

计算机 >计算机二级 >

计算机二级C++模拟题及解析2016

计算机二级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;

}

  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/erji/22zeld.html