使用VC6打开考生文件夹下的工程RevProj3。此工程包含一个源程序文件 RevMain3.cpp。阅读文件中的程序代码,找出程序中的错误,并改正。 源程序文件RevMain3.cpp清单如下: //RevMain3.cpp #incl

admin2009-01-15  89

问题 使用VC6打开考生文件夹下的工程RevProj3。此工程包含一个源程序文件 RevMain3.cpp。阅读文件中的程序代码,找出程序中的错误,并改正。
   源程序文件RevMain3.cpp清单如下:
   //RevMain3.cpp
   #include<iostream>
   using namespace std;
   class MyClass{
   public:
      /*    *  *  *    *    *  *  *  *found  *  *    *    *  *  *  +  *  *  */
      void MyClass(int a){ value=a;}
      int Max(int x,int y)
      {
         if(x>y)
            return x>y?x:y;
         else
            return y>value?y:value;
      }
      /*  *  *    *  *    *    *  *  *found  *  *  *  *    *  *  *  *  *  */
      ~MyClass(int a)
      {
          value=a;
      }
   private:
      int value;
   };
   int main()
   {
      MyClass my(10);
      cout<<my.Max(20,30)<<end1;
      return 0;
   }

选项

答案正确的类MyClass定义为: class MyClass { public: MyClas(int a) { value=a;} int Max(int x,int y) { if (x>y) return x>y?x:y; else return y>a?y:a; } ~MyClass() {} private: value; };

解析 本题考核类的定义。程序中出现了2个出错标识符,说明此程序有2处错误。第1处错误:类的构造函数没有返回类型,而程序中将类的构造函数设为void型,显然是错误的。
   第2处错误:C++中类的析构函数中不能带有行参,所以程序中析构函数的定义是错误的。
转载请注明原文地址:https://kaotiyun.com/show/mOID777K
0

最新回复(0)