我有一个带有 3 个实例变量的基类 Person。Person(string name, unsigned long id, string email) 和一个继承 Person 并有一个新实例的派生类 Student var year Student(string name, unsigned long id,int year,string email): Person(name,id,email ) 和一位无需描述的班主任。
然后有一个名为 eClass 的类
我想重载比较运算符 == 并在编译我的 .cpp 时在函数 bool exists() 中使用该运算符我有那个错误
错误:无法在'eClass 中定义成员函数'Student::operator==' 任何人都可以帮助我吗?
我也不明白const
在我的代码的那个功能中。那是做什么的?
bool Student::operator==(const Student* &scnd) const {... ... ...}
eClass{
private:
Teacher* teacher;
string eclass_name;
Student* students[MAX_CLASS_SIZE];
unsigned int student_count;
public:
eClass(Teacher* teach, string eclsnm){
teacher=teach;
eclass_name=eclsnm;
}
bool Student::operator==(const Student* &scnd)const{
return(getID==scnd.getID
&&getName==scnd.getName
&&getYear==scnd.getYear
&&getEmail==scnd.getEmail);
}
bool exists(Student* stud){
for(int i=0; i<MAX_CLASS_SIZE;++i){
if(stud==students[i]){return TRUE;}
}
return FALSE;
}
}