基本的には、2000 行の OOP スクリプトの動作中にある 2 行のコードに過ぎないので、私は愚かだと感じる問題で立ち往生しています。
本題に入る - さまざまな情報 (名前、住所、ID) を提供する Entity クラスがあります。問題は、ID mutator (セッター) が適切な値を設定しても (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 を追加するのを忘れていました。助けてくれたみんなに感謝します:)