问题 填空题

使用VC6打开考生文件夹下的工程test28_1,此工程包含一个源程序文件test28_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
5
5
源程序文件test28_1.cpp清单如下:
#include <iostream.h>
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<<c.n<<end1;
cout<<A::n<<end1;
return 0;

答案

参考答案:
(1) 错误:static int n=1;
正确:static int n;
(2) 错误:int n=0;
正确:int A::n=0;
(3) 错误:cout<<c.n<<end1;
正确:cout<<c->n<<end1;

解析:
(1)在类的声明中只能对静态数据成员进行引用性声明,不能进行静态数据成员的初始化:
(2)由于静态数据成员是类的成员,所以在初始化时必须限定它所属的类:
(3)c为类的对象指针,访问类成员函数时使用符号“->”,而不能用“.”。

单项选择题 共用题干题
单项选择题