|
Console Library 4.7.0
A header-only library that makes C++ simple
|
用于表示分数的基础模板类。 More...
#include <rational.h>
Public Member Functions | |
| constexpr | BasicRational () |
| 默认构造函数,构造一个值为 0/1 的分数。 | |
| constexpr | BasicRational (T n) |
| 接受单参的构造函数,构造一个值为 n/1 的分数。 | |
| BasicRational (T n, T d) | |
| 接受双参的构造函数,构造一个值为 n/d 的分数。 | |
| T | numerator () const |
| 取得分数的分子。 | |
| T | denominator () const |
| 取得分数的分母。 | |
| template<class U> | |
| operator U () const | |
| 显式的将一个分数转化为一个指定的数值类型。 | |
| BasicRational & | operator+= (const BasicRational &other) |
| 就地版本,等价于 a = a + b。 | |
| BasicRational & | operator-= (const BasicRational &other) |
| 就地版本,等价于 a = a - b。 | |
| BasicRational & | operator*= (const BasicRational &other) |
| 就地版本,等价于 a = a * b。 | |
| BasicRational & | operator/= (const BasicRational &other) |
| 就地版本,等价于 a = a / b。 | |
| BasicRational | operator- () const |
| 返回相反数。 | |
| BasicRational | operator+ () const |
| 返回自身。 | |
Friends | |
| BasicRational | operator+ (const BasicRational &lhs, const BasicRational &rhs) |
| 计算两个分数的和。 | |
| BasicRational | operator- (const BasicRational &lhs, const BasicRational &rhs) |
| 计算两个分数的差。 | |
| BasicRational | operator* (const BasicRational &lhs, const BasicRational &rhs) |
| 计算两个分数的积。 | |
| BasicRational | operator/ (const BasicRational &lhs, const BasicRational &rhs) |
| 计算两个分数的商。 | |
| bool | operator== (const BasicRational &lhs, const BasicRational &rhs) |
| 比较两个分数是否相等(eq)。 | |
| bool | operator!= (const BasicRational &lhs, const BasicRational &rhs) |
| 比较两个分数是否不等(ne)。 | |
| bool | operator< (const BasicRational &lhs, const BasicRational &rhs) |
| 比较左操作数是否小于右操作数(lt)。 | |
| bool | operator> (const BasicRational &lhs, const BasicRational &rhs) |
| 比较左操作数是否大于右操作数(gt)。 | |
| bool | operator<= (const BasicRational &lhs, const BasicRational &rhs) |
| 比较左操作数是否小于等于右操作数(le)。 | |
| bool | operator>= (const BasicRational &lhs, const BasicRational &rhs) |
| 比较左操作数是否大于等于右操作数(ge)。 | |
| std::ostream & | operator<< (std::ostream &os, const BasicRational &r) |
| 将一个分数打印到指定输出流。 | |
| std::istream & | operator>> (std::istream &is, BasicRational &r) |
| 从指定输入流读取一个分数。 | |
用于表示分数的基础模板类。
| T | 存储整数和浮点数的整数类型。 |
|
inlineconstexpr |
默认构造函数,构造一个值为 0/1 的分数。
|
inlineconstexpr |
接受单参的构造函数,构造一个值为 n/1 的分数。
| n | 分子。 |
|
inline |
接受双参的构造函数,构造一个值为 n/d 的分数。
在内部应用 reduce() 进行约分。
| n | 分子。 |
| d | 分母。 |
| console::domain_error | 若 d 为 0。 |
|
inline |
取得分数的分母。
|
inline |
取得分数的分子。
|
inlineexplicit |
显式的将一个分数转化为一个指定的数值类型。
| U | 目标类型 |
|
inline |
|
inline |
返回自身。
|
inline |
|
inline |
返回相反数。
|
inline |
|
inline |
就地版本,等价于 a = a / b。
| other | 除数。 |
| console::domain_error | 如果除以零。 |
|
friend |
比较两个分数是否不等(ne)。
| lhs | 左操作数。 |
| rhs | 右操作数。 |
|
friend |
|
friend |
|
friend |
|
friend |
计算两个分数的商。
| lhs | 被除数。 |
| rhs | 除数。 |
| console::domain_error | 如果除以零。 |
|
friend |
比较左操作数是否小于右操作数(lt)。
| lhs | 左操作数。 |
| rhs | 右操作数。 |
|
friend |
将一个分数打印到指定输出流。
| os | 输出流。 |
| r | 分数。 |
|
friend |
比较左操作数是否小于等于右操作数(le)。
| lhs | 左操作数。 |
| rhs | 右操作数。 |
|
friend |
比较两个分数是否相等(eq)。
| lhs | 左操作数。 |
| rhs | 右操作数。 |
|
friend |
比较左操作数是否大于右操作数(gt)。
| lhs | 左操作数。 |
| rhs | 右操作数。 |
|
friend |
比较左操作数是否大于等于右操作数(ge)。
| lhs | 左操作数。 |
| rhs | 右操作数。 |
|
friend |
从指定输入流读取一个分数。
会尽可能的在内部做一些操作,使得读取操作正常。
| is | 输入流。 |
| r | 分数。 |