Fred& Fred::operator= (const Fred& f) { // This gracefully handles self assignment *p_ = *f.p_; return *this; }