使用VC6打开考生文件夹下的工程test33_1,此工程包含一个源程序文件test33_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为: Number=1,2,3 sum=16 源程序文件test33_1.cpp

admin2010-02-08  47

问题 使用VC6打开考生文件夹下的工程test33_1,此工程包含一个源程序文件test33_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
   Number=1,2,3
   sum=16
   源程序文件test33_1.cpp清单如下;
       #include <iostream.h>
       class Num
       {
       public:
       /*****************  found *****************/
        void Num(int a,int b, int c);
        void PrintNumber();
        void PrintSum();
       private:
        int x,y,z;
        static int sum;
       };
       /*****************  found *****************/
       int sum=10;
       Num::Num(int a,int b, int c)
       {
        x=a;
        y=b;
        z=c;
        sum=sum+x+y+c;
       }
       void Num::PrintNumber()
       {
        cout<<"Number="<<x<<","<<y<<","<<z<<end1;
       }
       void Num::PrintSum()
       {
        cout<<"sum="<<sum<<end1;
       }
       void main( )
       {
        Num m(1,2,3),*n;
        n=&m;
        m. PrintNumber();
       /*****************  found *****************/
        n. PrintSum();
       }

选项

答案(1) 错误:void Num(int a,int b,int c); 正确:Num(int a,int b,int c); (2) 错误:int sum=10; 正确:int Num::sum=10; (3) 错误:n.PrintSum(); 正确:n->PrintSum();

解析 (1)函数Num为构造函数,构造函数不指定返回类型,其隐含有返回值,由系统内部使用;
(2)由于静态数据成员sum是类Num的成员,因此在初始化时必须使用作用域运算符限定其所属的类;
(3)n为指向类Num对象的指针,其访问公有成员函数需使用“->”,而不能使用“.”。
转载请注明原文地址:https://kaotiyun.com/show/o7ID777K
0

最新回复(0)