3 つのインスタンス変数を持つ基本クラス Person があります。Person(string name, unsigned long id, string email) と Person を継承し、1 つの新しいインスタンスを持つ 1 つの派生クラス Student var year Student(string name, unsigned long id,int year,string email): Person(name,id,email ) と、説明する必要のない 1 つのクラスの教師。
次に、eClassという名前のクラスがあります
比較演算子 == をオーバーロードし、その演算子を関数 bool exists() で使用して、.cpp をコンパイルすると、そのエラーが発生します
エラー: メンバ関数 'Student::operator==' を 'eClass 内で定義できませ ん 誰か助けてくれませんか?
また、私は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;
}
}