refactoring: operator+ define as member function