gpt4 book ai didi

c++ - C++中的重载运算符

转载 作者:行者123 更新时间:2023-11-30 02:34:09 24 4
gpt4 key购买 nike

我想重载适用于此代码的“=”运算符:

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;

关于c++ - C++中的重载运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34761598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com