operator=
作成したクラスの をオーバーロードしています。私はこれを 2 つのクラスで行いましたが、そのうちの 1 つは問題なく動作しており、どちらも正しく行われているようです。オーバーロードされた演算子の 1 つが機能していません。プログラムはエラーを生成していません。クラスの空のバージョンを返すだけです。何が問題なのかについて誰かが何か考えを持っているなら、それは大歓迎です。
.h ファイル
Patient operator=(const Patient &right);
.cpp ファイル
//Overloaded functions
Patient Patient::operator=(const Patient &right)
{
Patient temp;
temp.patientName = right.patientName;
temp.age = right.age;
temp.code = right.code;
temp.problem = right.problem;
temp.doctorName = right.doctorName;
temp.roomNum = right.roomNum;
temp.isWaiting = right.isWaiting;
temp.isComplete = right.isComplete;
return temp;
}
それが使用されているプログラムの一部。ランダムな出力メッセージを認識しています。プログラムのどこで問題が発生しているかを突き止めようとしていました。ステートメントに絞り込みましたpat=p;
。
void Room::setPat(Patient p)
{
cout << "Test" << endl;
cout << p.getName() << pat.getName() << "end";
pat = p;
cout << p.getName() << pat.getName() << "end";
cout << "End Test" << endl;
patUsed = true;
}