问题 问答题

使用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++中类的析构函数中不能带有行参,所以程序中析构函数的定义是错误的。

多项选择题
单项选择题 A1/A2型题