//这是你的里面有错误:
class Mymax
{
private:
int x,y,z;
public:
void Set(int,int,int);
int Max(int,int);
int Max(int,int,int);
};
int Mymax::Max(int a,int b,int c)
{
if(b>a)a=b;
if(c>a)a=c;
return a;
}
int Mymax::Max(int a,int b);//去掉这里的分号
{
if(a>b)return a;
else return b;
}
//这是偶给你补充的:调用函数输入值,再找出max
#include<iostream>
using namespace std;
class Mymax
{
private:
int x,y,z;
public:
void Set(int &a,int &b);//增加set函数重载,参数是主函数中变量的引用
void Set(int &a,int &b,int &c);//一样
int Max(int,int);
int Max(int,int,int);
};
void Mymax::Set(int &a,int &b)//定义set函数给主函数里的变量a,b赋值。
{int x,y;
cin>>x>>y;
a=x;b=y;
}
void Mymax::Set(int &a,int &b,int &c)//同上
{int x,y,z;
cin>>x>>y>>z;
a=x;b=y;c=z;
}
int Mymax::Max(int a,int b,int c)
{
if(b>a)a=b;
if(c>a)a=c;
return a;
}
int Mymax::Max(int a,int b)//原来你这里有个分号,去掉。
{
if(a>b)return a;
else return b;
}
int main()
{int a,b,c,max;//定义变量
Mymax max1,max2;//定义二个Mymax类
max1.Set(a,b);//调用重载函数,给a,b赋值
max=max1.Max(a,b);//max的值。
cout<<"max1 max="<<max<<endl;//输出
max2.Set(a,b,c);//二次调用重载函数
max=max2.Max(a,b,c);//同上
cout<<"max2 max="<<max<<endl;
return 0;
}
我也是刚学不足之处请指教。