我有三个 (C++) 类:Player、Hand 和 Card。
玩家有一个成员 hand,它持有一个 Hand。它还有一个方法 getHand(),用于返回 hand 的内容。
Hand Player::getHand() {
return hand;
}
Hand 有一个方法 addCard(Card c),可以将一张牌添加到手上。
我想这样做:
player1.getHand().addCard(c);
但它不起作用。它不会抛出错误,所以它正在做一些事情。但是如果我事后检查 player1 手牌的内容,那张牌还没有添加。
我怎样才能让它工作?
最佳答案
如果 getHand() 按值返回,则您正在修改手的拷贝而不是原始手。
关于c++ - 如何使用一个对象的方法来更新另一个对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/113033/