#include <iostream>
using namespace std;
class Fraction {
private:
	int num, den;
public:
	Fraction(int n = 0, int d = 1) :num(n), den(d) {}
	
	void setFraction(int n, int d) {
		num = n;
		den = d;
	}
	void printFraction() {
		cout << num << '/' << den << " ";
	}
	friend Fraction operator+(Fraction&, Fraction&);
};

int main()
{
	Fraction f1(1, 2), f2;
	
	f2 = f1 + f1 + f1; //fail
	f2.printFraction();

	f2 = f1 + f1;		//pass
	f2.printFraction();
	system("pause");
	return 0;
}
Fraction operator+(Fraction& a, Fraction& b) {
	Fraction tmp;
	int den = a.den * b.den;
	int num = a.num * b.den + b.num * a.den;
	tmp.setFraction(num, den);
	return tmp;
}