這裏是我的程序代碼快速片段(斷章取義的,但應該是罰款的問題)從指針過渡到對象?
Card::Card(int value, char suit)
{
value = value;
suit = suit;
}
Card cards[52];
Card c = new Card(RANKS[i],SUITS[j]);
cards[size] = c;
在這裏,我得到一個錯誤,因爲新卡(X,Y)返回一個指針卡,所以它應該是
Card* c = new Card(RANKS[i],SUITS[j]);
如果我想結束只是一個卡對象,我該怎麼辦?我的印象是我可以使用地址運算符來做這件事,並且做一些類似 cards [size] =&c;
但是,編譯器似乎不喜歡這樣。誰能幫我?應該相當簡單,不幸的是我用C/C++有點生疏。
謝謝!
'值=值;西裝=西裝;'我不知道這是否在你的真實代碼中,但如果是這樣的話,這意味着你沒有在這裏正確地設置你的類數據成員'價值'或'套裝'。你可能需要不同的名字,或者你應該寫'this-> value = value; this-> suit = suit;'或者你可以使用構造函數初始化列表:'Card :: Card(int value,char suit):value(value),suit(suit){}'。 (初始化程序列表的規則確保數據成員不會與參數混淆。) – bames53