//分数类
class Fraction
{
public:
Fraction(int num,int den=1)
:m_numerator(num),m_denominator(den){}
//转换函数--> 把 Fraction 转换为double
operator double()const{
return (double)(m_numerator / m_denominator);
}
private:
m_numerator;
m_denominator;
};
//可能的用法 用法决定了类实现
Fraction f(3,5);
double d2=f+4;
class Fraction
{
public:
explicit Fraction(int num,int den=1)
:m_numerator(num),m_denominator(den){}
//转换函数--> 把 Fraction 转换为double
operator double()const{
return (double)(m_numerator / m_denominator);
}
Fraction operator+(const Fraction&f){
return Fraction(......);
}
private:
m_numerator;
m_denominator;
};
//可能的用法
Fraction f(3,5);
Fraction d2=f+4;//[Error] convirsion from 'double' to 'Fraction' requested
non-explicit-one-argument ctor
最新推荐文章于 2022-08-13 17:38:15 发布