问题 问答题

改错题 使用VC6打开考生文件夹下的工程kt13_1,此工程包含一个源程序文件kt13_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为: 5 5 源程序文件kt13_1.cpp清单如下: #include classA{ public: /*****************found*****************/ staticintn=1; A(){n++;}; ~A(){n--;}; }; /*****************found*****************/ intn=0; intmain(){ Aa; Ab[3]; A*c=newA; c=&a; /*****************found*****************/ cout<

答案

参考答案:(1)将static int n=1;改为:static int n; (2)将int n=0;改为:int A::n=0; (3)将cout<n<

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