//1.整理并扩充本章中的fraction示例,补齐你认为尚缺的运算符函数声明
fraction.h文件
#ifndef fractionH
#define fractionH
#include <iostream>
using namespace std;
class fraction
{
long num;//分子
long den;//分母
void standardize();//分母标准化函数
public:
fraction(long n=0,long d=1);//构造函数,在.cpp文件实现
fraction operator -()const{return fraction(-num,den);}//分数求取负
fraction operator +(fraction f){//分数求和
return fraction(num*f.den+den*f.num,den*f.den);
}
fraction &operator ++()//前缀++
{
num+=den;
return *this;
}
fraction operator ++(int)//后缀++
{
num+=den;
return fraction(num-den,den);
}
operator long()const{return num/den;}//必须作为成员函数重载,不需要返回值类型的声明,因为自己就是类型了。
fraction& operator =(fraction f)//只能作为成员函数重载,这个函数写于不写都不影响,默认赋值操作也是如此
{
num=f.num