#include <iostream>
using
namespace std;
class F {
int d;
int n;
public:
F (int d, int n) : d(d), n(n) {
}
const F operator-(const F& f) const { //为啥这里可以使用成员函数?
int num = n * f.d - d * f.n;//d,n不应该是私有的吗?访问私有的应该用友元啊
int den = d * f.d;
return F(num, den);
}
friend ostream&
operator<<(ostream& o, const F& f) {
o << f.d <<
"/"
<< f.n << endl;
return o;
}
};
int main(void)
{
F f1(1, 2);
F f2(3, 4);
F f4 = f1 - f2;
cout << f4 << endl;
return
0;
}
|