我有两节课。
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; }
};
这是两个非内联运算符 + 函数
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();
我想像这样添加这两个
resultInch = m + i;
resultInch.out();
我怎样才能做到这一点?