定制魏:QTWZPW,获取更多源码等
目录
题目与要求
定义一个整数类。
定义一个分数类,由整数类派生。能对分数进行各种计算和输入/输出。
(1)定义整数类和分数类。其中,包括构造函数、析构函数、显示函数等。
(2)输入/输出:对流提取和流插入运算符进行重载。
(3)计算功能:可进行分数的加、减、乘和除法运算。
(4)化简功能:将分数化简为最简分数。
(5)异常处理功能:分数中分母不能为零。
(6)菜单功能:每种功能的操作都是在菜单中进行相应选择。
类声明
- Integer 类:
- Integer 类表示整数,具有一个整型成员变量 value。
- 构造函数 Integer(int v = 0) 初始化 value,默认值为 0。
- 重载了流插入运算符 << 和流提取运算符 >>,允许将 Integer 对象与流进行输入输出操作。
- 友元函数重载了流插入运算符和流提取运算符,使得可以直接使用 cout 和 cin 进行输出输入。
- Fraction 类:
- Fraction 类表示分数,继承自 Integer 类。
- 成员变量 numerator 和 denominator 分别表示分子和分母。
- 构造函数 Fraction(int num = 0, int denom = 1) 初始化分数,分母默认值为 1,如果分母为 0 则抛出异常。
- simplify() 方法用于化简分数,调用了 gcd() 函数求最大公约数,然后进行约分操作,并确保分母为正数。
- 重载了加减乘除运算符,使得可以对 Fraction 对象进行加减乘除运算。
友元函数重载了流插入运算符和流提取运算符,使得可以直接使用 cout 和 cin 进行输出输入,并在输入时自动化简分数。
构造函数
- Integer 类构造函数设计:
- 构造函数声明:Integer 类的构造函数声明为 Integer(int v = 0),其中参数 v 代表整数的初始值,默认为 0。
- 初始化整数值:构造函数会将参数 v 赋值给整数成员变量 value,以初始化整数对象