我遇到了一个我觉得很愚蠢的问题,因为它基本上只是在 2000 行工作 OOP 脚本中的两行代码。
切入正题——我有一个实体类,它提供各种信息(姓名、地址、ID)。问题是 - 即使 ID mutator(setter)设置了一个正确的值(用 cout 和返回值测试),访问器总是返回 0。
// ID accessor
int Entity::ID() const {
return _ID;
}
// ID mutator
int& Entity::ID( int newID ) {
if ( newID >= 0 ) {
_ID = newID;
}
return _ID;
}
这是我的类(ID( int ) 方法在 AgencyNetwork::createXXX() 中调用,并在每个 toStr() 方法中使用(在每个类的末尾)):
Entity.cpp , AgencyNetwork.cpp , Agent.cpp
已解决:我忘记在每个 operator= 中添加 ID mutator。感谢所有帮助过的人:)