#include <iostream>

class C {
private:
  int n;
public:
  C() {}
  C(const C &ob) { this->n = ob.n; }
  C(const int n) { this->n = n; }
  ~C(){}
  C &operator=(const C &ob) { this->n = ob.n; return *this; }
  bool operator==(const C &ob) /* const */ { return (this->n == ob.n); }
  friend C operator+=(C &a, C const &b) { a.n += b.n; return a; }
  friend std::ostream &operator<<(std::ostream &stream, C ob) { stream << ob.n; return stream; }
  friend C operator+(C const &a, C const &b) { C s; s = a; s += b; return s; }
};

int main() {
  C s;
  for (int n = 1; n <= 10; n++)
    s = s + n;
  std::cout << s << std::endl;
  return 0;
}
/* end */
