我正在operator=
为我制作的课程重载。我为两门课做了这个,其中一门工作得很好,而且它们似乎都做得正确。重载的运算符之一不工作。该程序不会产生任何错误,它只是简单地返回类的空白版本。如果有人对可能是什么问题有任何想法,将不胜感激。
.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;
}