Example minimal class class A { public: A(); A(const A& o); ~A(); A& operator=(const A& o) { if (this == &o) return *this; ... } };