//分数类
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' requestednon-explicit-one-argument ctor
最新推荐文章于 2022-08-13 17:38:15 发布
本文介绍了一个分数类Fraction的设计及其实现细节,包括构造函数、类型转换函数以及加法运算符重载。通过示例展示了如何使用此类进行分数运算,并指出了在混合类型运算中可能出现的问题。
409

被折叠的 条评论
为什么被折叠?



