私は自分のプロジェクトで少し合理的なクラスを行っており、すべての算術演算子をオーバーロードしています。さて、operator= をオーバーロードしようとすると、Little があり、自分の問題 (どのように機能するかわかりません) なのか、自分の書いたコードの問題なのか (書き方が悪い) わかりません。コードは次のとおりです。
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;
}
私はそれを行うことができますか?はいの場合、どのように?