/*
* 作 者:沈遠巨集
* 完成日期:2014 年 4 月 18 日
* 版 本 號:v1.0
* 輸入描述: 無
* 問題描述:實現分數類中的運算子過載,在分數類中可以完成分數的加減乘除(運算後再化簡)、比較(6種關係)的運算。可以以第5周專案2的**為基礎開始工作.
(1)定義分數的一目運算+和-,分別代表分數取正和求反,將「按位取反運算子」~過載為分數的求倒數運算。
(2)定義分數類中《和》運算子過載,實現分數的輸入輸出,改造原程式中對運算結果顯示方式,使程式讀起來更自然。
* 程式輸出:略
*/#include using namespace std;
class cfraction
//建構函式,初始化用
void set(int nu,int de);//賦值
void simplify(); //化簡
void output();
friend ostream& operator << (ostream&,cfraction&);
friend istream& operator >> (istream&,cfraction&);
friend cfraction operator~(cfraction &a);//倒數
friend cfraction operator+(cfraction &a,cfraction &b);// +
friend cfraction operator+(cfraction &a);//求正
friend cfraction operator-(cfraction &a,cfraction &b);// -
friend cfraction operator-(cfraction &a);//取反
friend cfraction operator*(cfraction &a,cfraction &b);// *
friend cfraction operator/(cfraction &a,cfraction &b);// /
friend bool operator>(cfraction &a,cfraction &b);
friend bool operator
friend bool operator==(cfraction &a,cfraction &b);
friend bool operator!=(cfraction &a,cfraction &b);
friend bool operator>=(cfraction &a,cfraction &b);
friend bool operator<=(cfraction &a,cfraction &b);
//建構函式及運算子過載的函式宣告
};ostream& operator << (ostream& output,cfraction &c)
void cfraction::set(int nu,int de)//賦值
void cfraction::simplify() //化簡
else if(a.nume>0)
}return c;
}cfraction operator*(cfraction &a,cfraction &b)// *
cfraction operator/(cfraction &a,cfraction &b)// /
bool operator>(cfraction &a,cfraction &b)
else
}bool operator==(cfraction &a,cfraction &b)
else
}bool operator!=(cfraction &a,cfraction &b)
else
}bool operator>=(cfraction &a,cfraction &b)
else
}//過載函式的實現及用於測試的main()函式
int main()
{ cfraction c,s;
cout<
cin>>c;
s=+c;
cout<
執行結果:
心得體會:
其實覺得分數類做的比較糙。。看那個分母帶-號覺得異常不爽
第九周 專案三 分數類
檔名稱 完成日期 2014年4月28日 版本號 v0.1 對任務及求解方法的描述部分 輸入描述 無 問題描述 實現分數類中的運算子過載 程式輸入 程式輸出 問題分析 演算法設計 我的程式 include include using namespace std class cftra void sim...
第九周 專案3 分數類的運算子過載
程式的版權和版本宣告部分 檔名稱 分數類中的運算子過載 作 者 馮冬影 完成日期 2014 年 4月 22日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 問題描述 程式輸出 include includeusing namespace std class cfraction ostr...
第二學期第五周專案2 分數類的雛形
作 者 沈遠巨集 完成日期 2013 年 03月25日 版 本 號 v1.0 問題描述 設計乙個簡單的分數類,完成對分數的幾個運算。置值 化簡 使分子分母沒有公因子 放大n倍 輸出 以8 6為例,style為0時,原樣輸出8 6 style為1時,輸出1 1 3 形式,表示一又三分之一 style為...