I m trying to overload the instream operator >> for a fraction class. I ve created a function that can take a string from the user and parse it into the proper arguments for my Fraction class but I m unsure how to implement this in my >> overloading function.
There are three types of fractions that a user can input: 1. whole numbers (e.g. 5) 2. mixed numbers (e.g. 2+4/5) 3. regular fractions (e.g. 1/2)
我的做法是接受这一投入,将其作为主要功能使用者的一种扼杀手段,使其获得有效的框架类别参数,然后将这一新产生的部分退回到上游。 我不敢肯定如何做到这一点。
In my operator overloading definition, I have this:
istream& operator>>(istream& in,const Fraction& input)
但是,如果我接受一种扼杀,那么这里的参数类型就应当是一个扼杀吗? 我对这一部分感到非常困惑。 然后我要回去一个Fraction物体。 这里是处理全数的例子。
int num1 = atoi(input.c_str());
Fraction output(num1);
in >> output;
return in;
我在这里的正确轨道?