Оператор присваивания с членом ссылочного класса

Пока из моего предыдущего вопроса возникают новые проблемы Перегруженный оператор присваивания вызывает предупреждение о рекурсии , меня законно убедили опубликовать это как новый.У меня есть член ссылочного класса в моем классе Player, и я хочу реализовать конструктор копирования и оператор присваивания (=) этого класса. Я должен упомянуть, что целью является безупречная работа функции vector.erase, потому что без этого, насколько мне известно, она не будет работать должным образом. Я использую вектор: vector allPlayers; Членами класса Player являются:

class Player
{

  private:
  int ID;
  int pMoney;
  int doubleIndicator;
  int squarePosition;
  Bank& bank;
  string pName;
  Square* capturedSquare;
  multimap squaresColBought;
  multimap housesColBuilt;

}

Обязательно ли избегать использования ссылки в качестве члена класса, если я хочу реализовать оператор присваивания? А как насчет участников карты? Как мне наконец реализовать оператор присваивания?

Другой чрезвычайно важный вопрос, о котором я не знаю, - это то, что происходит с объектами, на которые указывают члены класса указателей, когда я стираю итератор вектора, который содержит Player. Есть помощь?

16
задан Community 23 May 2017 в 11:59
поделиться