使用VC6打开考生文件夹下的工程test28_1,此工程包含一个源程序文件test28_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为: 5 5 源程序文件test28_1.cpp清单如下: #in

admin2012-05-11  29

问题 使用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为类的对象指针,访问类成员函数时使用符号“->”,而不能用“.”。
转载请注明原文地址:https://kaotiyun.com/show/07ID777K
0

最新回复(0)