#include <iostream.h>
class Fraction
{
private:
int m_numerator;
int m_denominator;
public:
Fraction() // default constructor
{
m_numerator = 0;
m_denominator = 1;
}
int getNumerator() { return m_numerator; }
int getDenominator() { return m_denominator; }
double getValue() { return static_cast<double>(m_numerator) / m_denominator; }
};
int main()
{
Fraction frac; // Since no arguments, calls Fraction() default constructor
std::cout << frac.getNumerator() << "/" << frac.getDenominator() << '\n';
return 0;
}
我不明白函数double getValue()的作用。在main函数中,我们要求编译器调用getNumerator和getDenominator函数,这些函数直接将变量m_numerator和m_denominator的值传递给main函数。然后,主要功能直接以小数形式显示。是否需要使用getValue函数的明确原因?
来源:learncpp.com
感谢您的帮助!
答案 0 :(得分:2)
我们经常尝试使代码具有通用性,以便我们可以重用代码,而不必编写类似于已经编写的新代码。 getValue()
函数在此程序中没有用,但在其他程序中,让此函数将值返回为double会很有用,这样我们就不必编写强制转换和一直重复进行除法(甚至检查是否除以零)。