簡體   English   中英

c ++中的重載運算符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM