使用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>yx:y;
else
return y>valuey: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>yx:y;
else
return y>ay:a;
}
~MyClass() {}
private:
value;
};
解析:
本题考核类的定义。程序中出现了2个出错标识符,说明此程序有2处错误。第1处错误:类的构造函数没有返回类型,而程序中将类的构造函数设为void型,显然是错误的。
第2处错误:C++中类的析构函数中不能带有行参,所以程序中析构函数的定义是错误的。