// Het probleem van de Breuk::operator+ memberfunctie. Zie dictaat.

class Breuk {
public:
	Breuk(int t);
	Breuk& operator+=(const Breuk& right);
	const Breuk operator+(const Breuk& right) const;
};

const Breuk Breuk::operator+(const Breuk& right) const {
	Breuk temp(*this);
	return temp+=right;
}

int main() {
	Breuk b(2);
	Breuk b1(b+3); // wordt: Breuk b1(b.operator+(Breuk(3)));
	Breuk b2(3+b); // wordt: Breuk b2(3.operator+(Breuk(3)));
//	[Error (Borland)]:    illegal structure operation.
//	[Error (gcc)]:        no match for 'operator+' in '3 + b'
//	[Error (Visual C++)]: binary '+' : no global operator found which takes type 'Breuk' (or there is no acceptable conversion)
	return 0;
}
