[英]Overload operator in c++
我想重載將對此代碼起作用的“=”運算符:
void toArr(AVLNode<Student> student, Student* studentArr){
int studentID = student.data; //This is where I want to use that operator
....
}
int operator=(int number, const Student& student){ //Error: 'int operator=(int, const Student&)' must be a nonstatic member function
Student tmp = student;
return (tmp.getID());
}
tmp.getID()
是一個int
。 這甚至可能嗎?
僅供參考我搜索同樣的問題,但沒有找到一個有2個參數的問題。
謝謝!
你需要的是你的類Student
一個強制轉換操作符來輸入int
:
class Student
{
public:
int id;
int getID() const { return id; }
operator int() const
{
return getID();
}
};
Student student;
int id = student;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.