class bruch; struct bruch; class bruch { int z; int n; public: int Z (); int N (); void Z (int z); void N (int n); bruch operator + (bruch const &rhs); bruch (int z_in, int n_in) : z (z_in) , n (n_in) { } }; bruch bruch::operator + (bruch const &rhs) { bruch ret (0, 0); ret.z = rhs.n * this->z + this->n * rhs.z; ret.n = this->n * rhs.n; return ret; } int bruch::Z () { return this->z; } int bruch::N () { return n; } int main () { bruch b1 (1, 3); bruch b2 (2, 5); b1 + b2; b1.operator + (b2); }