Dopóki pojawiają się nowe problemy z mojego poprzedniego pytania Overloaded assignment operator causes warning about recursion, Prawidłowo wezwano mnie do opublikowania tego jako nowego. Mam klasy odniesienia klasy w mojej klasie Player i chcę zaimplementować konstruktora kopiowania i operator przypisania (=) tej klasy. Muszę wspomnieć, że celem jest poprawne działanie funkcji vector.erase, ponieważ bez niej nie działa ona właściwie tak daleko, jak mnie to dotyczy. Używam wektora: vector allPlayers; Członkowie klasy Gracze to:Operator przydziału z referencyjnym członkiem klasy
class Player
{
private:
int ID;
int pMoney;
int doubleIndicator;
int squarePosition;
Bank& bank;
string pName;
Square* capturedSquare;
multimap<string, PropertySquare*> squaresColBought;
multimap<string, House*> housesColBuilt;
}
Czy korzystanie z referencji jako członka klasy jest obowiązkowe, jeśli chcę wdrożyć operatora przypisania? A co z członkami mapy? Jak powinienem w końcu wdrożyć operatora przypisania?
Inną kwestią o ogromnym znaczeniu, której nie jestem świadomy, jest to, co dzieje się z przedmiotami wskazywanymi przez wskaźniki członków klasy, kiedy usuwam iterator wektora, w którym znajduje się odtwarzacz. Jakaś pomoc?
"Kolejna kwestia" => kolejne pytanie na początek :) – xtofl
Co chcesz, aby operator przypisania miał do czynienia z bankiem? – fredoverflow
FredOverflow: Wystarczy skopiować bank do obiektu Lhs – arjacsoh