【发布时间】:2026-01-29 02:10:01
【问题描述】:
在以下两行代码中,它应该获取玩家的名称,然后将该名称设置为属性的所有者。当我运行它时,它只是输出“所有者:”
player.cpp
gb.getProperty(position).setOwner(name);
cout << "Owner: " << gb.getProperty(position).getOwner() << endl;
它应该打印轮到它的玩家的名字,我已经检查过这个名字是否正确,所以我相信它是所有者的 getter 和 setter: 这是我的所有者的getter和setter,我在这里做错了吗?
board.h
class properties {
public:
string getOwner() { return owner; }
void setOwner(string o) { owner = o; }
private:
string owner;
};
我的所有文件都已正确连接,非常感谢任何帮助
【问题讨论】:
-
name是否正确初始化? -
getProperty是如何实现的?请提供minimal reproducible example -
我的猜测是
getProperty返回一个副本而不是引用 -
在类属性的公共部分由'string getProperty() {return name;}'和'string name'在私有部分初始化
标签: c++ class object getter setter