只要我的上一個問題Overloaded assignment operator causes warning about recursion中出現新問題,我就被合法地敦促將其作爲新問題發佈。我在我的類Player中有一個引用類成員,我想實現這個類的複製構造函數和賦值運算符(=)。我不得不提到,目的是函數vector.erase的精細工作,因爲沒有它,就我而言,它不能正常工作。我使用一個矢量:vector allPlayers;類玩家的成員是:賦值運算符與參考類成員
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;
}
如果我想實現賦值運算符,避免使用引用作爲類成員是強制性的嗎?那麼地圖成員呢?我應該如何最終實現賦值運算符?
另一個極其重要的問題是我沒有意識到當我擦除持有播放器的向量的迭代器時,指針類成員指向的對象會發生什麼。任何幫助?
「另一個問題」=>對初學者的另一個問題:) – xtofl 2011-12-26 13:41:58
你想讓轉讓經營者與銀行做什麼? – fredoverflow 2011-12-26 15:33:57
FredOverflow:只需將銀行復制到lhs對象 – arjacsoh 2011-12-26 17:14:05