大家好,尽管我对 Java 基础知识有所了解,但我对 c++ 还是很陌生。
我有这个运算符<<:
std::ostream& operator<<(std::ostream& out, Rational& r) {
int a;
int b;
int c;
int d;
b = r.n_;
c = r.d_;
if (c >= b) {
a = (b / c);
d = (b % c);
r.n_ = d;}
return out << r.n_ << '/' << r.d_;
}
基本上我想做的是;如果我要输出的分数是假分数,我希望能够在输出之前将其转换为带分数的格式。我已经编写了 if 语句来计算混合数,但我无法弄清楚如何使用 << 运算符输出它,因为它只能接受两个参数。如果有办法做到这一点(无需编辑类实例变量。)。
(Rational 类有两个实例变量 Numerator 和 Denominator)
任何帮助或想法将不胜感激,在此先感谢。^^
提前致谢。