class Max{
private:
int value1,value2;
public:
void SetValue(double,double);
double Compare();
};
void Max::SetValue(double v1,double v2){
value1=v1;
value2=v2;
}
double Max::Compare(){
return value1>value2?value1:value2;
}
这里是返回最大值的,你没有说明白返回神马
class CValueComp
{
public:
inline void SetValue(int nVal1, int nVal2)
{
m_nVal1 = nVal1;
m_nVal2 = nVal2;
}
inline int Compare()
{
//! <0. m_nVal1 < m_nVal2
//! ==0, m_nVal1 == m_nVal2
//! >0, m_nVal1 > m_nVal2
return m_nVal1 - m_nVal2;
}
private:
int m_nVal1;
int m_nVal2;
};
姑且写个了,不过这个类意义不大吧
首先max 这个标识不能用,C++本身有相关函数,用的模板写的,对很多类型都能处理
以及 SetValue 这个函数可不需要,直接
inline int Compare(int nVal1, int nVal2)
{
//! <0. m_nVal1 < m_nVal2
//! ==0, m_nVal1 == m_nVal2
//! >0, m_nVal1 > m_nVal2
return m_nVal1 - m_nVal2;
}
template T
class max
{
private:
T a;
T b;
public:
void setvalue(T a,T b)
{
this.a = a;
this.b = b;
}
T compare()
{
if(a>=b) return a;
else return b;
}
}