该代码为基于c++实现分数类,是我大学oop课程的一个小作业,目前我并不很熟练编程,想通过分享的方式来让大佬们对这个代码提出一些修改建议。
该分数类的将分子和分母设置为int类型,将正负号设置为char类型,然后在共有部分为该类提供了取负运算、倒数运算、约分、小数转分数、字符串转分数,加减乘除,关系判断运算,输出等功能。
#include "iostream"
#include "math.h"
using namespace std;
class fraction { //分数类
public:
//构造函数部分
fraction() {sign = '+'; nu = 0; de = 1; } //构造函数,无参数
fraction(int _nu, int _de = 1); //构造函数,正常输入,默认分母为1
fraction(double _nu, double _de = 1, int n = 5) { DtoF(_nu, _de, n); } //构造函数,double情况,默认分母为1,默认精度为1e-5
fraction(string x) {StoF(x); }; //构造函数,字符串情况
//输出功能部分
void printint() { cout << sign << nu << "/" << de; } //输出分数
void printdouble() { cout << sign << double(nu) / de; }//输出小数
//单目运算部分
void Inverse() { sign == '+' ? sign = '-' : s