我正在为我的项目做一个小理性类,我重载了所有的算术运算符。好吧,当我尝试重载 operator= 时,我有一点点,现在我不知道是我的问题(我不知道它是如何工作的)还是我的 writen 代码的问题(我写得不好),这是代码:
class rational{
public:
double& operator=(double& d){
d= this->num/this->den;
return d;
}
double& operator=(rational& r){
double d= r.num/r.den;
return d;
}
double& operator=(){
double d= this->num/this->den;
return d;
}
}
好的,怎么了?什么是对的?(我认为一切都错了哈哈)
我的目标是这样做:
int main(){
rational r(4, 5);
double d= r;
}
我可以做吗?如果是,如何?