标题:诚心求教,设计一个类,要求能求n个整数中的最大数,n的值为2和3
只看楼主
roje123
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-6-22
结帖率:100%
已结贴  问题点数:20 回复次数:7 
诚心求教,设计一个类,要求能求n个整数中的最大数,n的值为2和3
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;
}


怎样续写他成一个完整的程序。

急啊!!!!
搜索更多相关主题的帖子: 大数 整数 诚心 设计 
2010-06-23 00:16
roje123
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-6-22
得分:0 
要不要在键盘输入都没问题,只有在屏幕输出就好
2010-06-23 00:17
roje123
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-6-22
得分:0 
怎么没人教我啊???
2010-06-23 16:43
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
得分:10 
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;

class MaxFun
{
public:
    MaxFun(int nA, int nB);
    MaxFun(int nA, int nB, int nC);
   
    void Set(int nA, int nB);
    void Set(int nA, int nB, int nC);
   
    int GetTwoMax()const;
    int GetThreeMax()const;
   
private:
    MaxFun();
   
private:
    int m_nA;
    int m_nB;
    int m_nC;
};


MaxFun::MaxFun(int nA, int nB)
{
    m_nA = nA;
    m_nB = nB;   
}

MaxFun::MaxFun(int nA, int nB, int nC)
{
    m_nA = nA;
    m_nB = nB;
    m_nC = nC;
}

void MaxFun::Set(int nA, int nB)
{
    m_nA = nA;
    m_nB = nB;   
}

void MaxFun::Set(int nA, int nB, int nC)
{
    m_nA = nA;
    m_nB = nB;
    m_nC = nC;
}

int MaxFun::GetTwoMax()const
{
    return m_nA > m_nB ? m_nA : m_nB;
}

int MaxFun::GetThreeMax()const
{
    return GetTwoMax() > m_nC ? GetTwoMax() : m_nC;
}

int main()
{
    MaxFun obj(15, 10, 20);
    cout<<obj.GetTwoMax()<<endl;
    cout<<obj.GetThreeMax()<<endl;
   
    return 0;
}

[ 本帖最后由 最近不在 于 2010-6-25 09:11 编辑 ]
2010-06-25 09:10
marenshi
Rank: 2
等 级:论坛游民
帖 子:23
专家分:17
注 册:2009-10-31
得分:10 
//这是你的里面有错误:
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;
}
我也是刚学不足之处请指教。
2010-06-25 09:28
marenshi
Rank: 2
等 级:论坛游民
帖 子:23
专家分:17
注 册:2009-10-31
得分:0 
4楼写的专业
2010-06-25 09:30
marenshi
Rank: 2
等 级:论坛游民
帖 子:23
专家分:17
注 册:2009-10-31
得分:0 
不过我觉得改了楼主的意思了。
2010-06-25 09:38
marenshi
Rank: 2
等 级:论坛游民
帖 子:23
专家分:17
注 册:2009-10-31
得分:0 
我写的也请4楼指教,谢谢
2010-06-25 09:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-310989-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.208283 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved