私は2つのクラスを持っています。
Inch class:
class Inch{
private:
double inches;
public:
Inch() : inches(0) {}
Inch(double i) { inches=i; }
Inch operator+ (const Meter& m);
void out(){ cout << "Inch:" << inches << "\n"; }
double getInches() const { return inches; }
};
およびメータークラス
class Meter{
private:
double meter;
public:
Meter() : meter(0) {}
Meter(double m) { meter=m; }
Meter operator+ (const Inch& i);
void out(){ cout << "Meter:" << meter; }
double getMeter() const { return meter; }
};
これらは 2 つの非インライン演算子 + 関数です
Meter Meter :: operator+ (const Inch& i){
{ return Meter(meter / 0.0254 + i.getInches()); }
}
Inch Inch :: operator+ (const Meter& m){
{ return Inch(m.getMeter() + inches * 0.0254); }
}
これは私のメインであり、コンパイルされます。大丈夫。
int main() {
Inch i(6.4),
resultInch;
Meter m(14),
resultMeter;
i.out();
m.out();
resultMeter = m + i;
resultMeter.out();
resultInch = i + m;
resultInch.out();
return 0;
}
私がしたいのは i + m の場所を変えることです
resultInch = i + m;
resultInch.out();
この2つをそのまま追加したい
resultInch = m + i;
resultInch.out();
どうやってやるの?