表格线识别通用库文档
载入中...
搜索中...
未找到
cm::Percent类 参考

百分比类 更多...

#include <percent.hpp>

Public 成员函数

 Percent ()
 百分比类的默认构造函数
 
 Percent (double value, bool is_percent=true)
 百分比类的带参构造函数
 
 Percent (int value, bool is_percent=false)
 百分比类的带参构造函数
 
 Percent (const Percent &percent)
 百分比类的拷贝构造函数
 
 ~Percent ()
 百分比类的析构函数
 
template<typename T >
T operator+ (const T &value) const
 百分比类重载加法运算符
 
template<typename T >
T operator- (const T &value) const
 百分比类重载减法运算符
 
template<typename T >
T operator* (const T &value) const
 百分比类重载乘法运算符
 
template<typename T >
T operator/ (const T &value) const
 百分比类重载除法运算符
 
template<typename T >
TAddPercent (T &value) const
 实现百分比类的百分比加法
 
template<typename T >
TSubtractPercent (T &value) const
 实现百分比类的百分比减法
 
template<typename T >
TMultiplyPercent (T &value) const
 实现百分比类的百分比乘法
 
template<typename T >
TDividePercent (T &value) const
 实现百分比类的百分比除法
 
template<typename T = double>
T Value () const
 获取百分比的值
 
PercentAssign (double value, bool is_percent=true)
 百分比类的赋值函数
 
PercentAssign (int value, bool is_percent=false)
 百分比类的赋值函数
 
std::string Percentage (uint precision=2) const
 获取百分数字符串
 
bool IsPercent () const
 判断是否是百分比
 

友元

std::ostream & operator<< (std::ostream &out, const Percent &percent)
 百分比类重载输出流运算符
 
template<typename T >
T operator+ (const T &value, const Percent &percent)
 百分比类重载加法运算符
 
template<typename T >
T operator- (const T &value, const Percent &percent)
 百分比类重载减法运算符
 
template<typename T >
T operator* (const T &value, const Percent &percent)
 百分比类重载乘法运算符
 
template<typename T >
T operator/ (const T &value, const Percent &percent)
 百分比类重载除法运算符
 

详细描述

百分比类

该类表示百分比值,可以进行百分比的加减乘除运算,同时可以与普通数值进行运算和转换操作。

注意
百分比类支持百分数和非百分数的混合使用,需要注意以下事项:
  • 如果构造百分比类时输入参数是浮点型,则默认表示百分比值
  • 如果构造百分比类时输入参数是整型,则默认表示非百分比值
  • 若要改变默认行为,可手动设置 is_percent 参数,该参数表示是否已经是百分比形式
  • 只有百分比数支持加减乘除运算,非百分比数参与运算时结果保持不变
作者
dreamy-xay
日期
2024-01-27

在文件 percent.hpp35 行定义.

构造及析构函数说明

◆ Percent() [1/4]

cm::Percent::Percent ( )
inline

百分比类的默认构造函数

该构造函数将百分比值 value 初始化,并设置标志位以指示值是百分比形式。

作者
dreamy-xay
日期
2024-01-27

在文件 percent.hpp91 行定义.

◆ Percent() [2/4]

cm::Percent::Percent ( double value,
bool is_percent = true )
inline

百分比类的带参构造函数

该构造函数接受一个 double 类型的值和一个布尔值,分别用于设置百分比的具体数值和表示值是否为百分比。如果 is_percent 设置为 true,则 value 将被解释为百分比值;否则,value 将被视为原始数值。

参数
value
is_percent是否百分比 默认为 true
作者
dreamy-xay
日期
2024-01-27

在文件 percent.hpp103 行定义.

◆ Percent() [3/4]

cm::Percent::Percent ( int value,
bool is_percent = false )
inline

百分比类的带参构造函数

该构造函数接受一个整数值和一个布尔值。整数值用于设置百分比的具体数值,布尔值用于指示这个值是否为百分比。如果 is_percent 设置为 true,则 value 将被解释为百分比值;否则,value 将被视为原始数值。

参数
value
is_percent是否百分比 默认为 false
作者
dreamy-xay
日期
2024-01-27

在文件 percent.hpp115 行定义.

◆ Percent() [4/4]

cm::Percent::Percent ( const Percent & percent)
inline

百分比类的拷贝构造函数

该拷贝构造函数根据传入的百分比对象,并拷贝该对象的值和百分比标志。

参数
percent百分比类
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp126 行定义.

◆ ~Percent()

cm::Percent::~Percent ( )
inline

百分比类的析构函数

该析构函数将释放类对象所占用的空间资源。

作者
dreamy-xay
日期
2024-01-27

在文件 percent.hpp135 行定义.

成员函数说明

◆ AddPercent()

template<typename T >
T & cm::Percent::AddPercent ( T & value) const
inline

实现百分比类的百分比加法

该函数用于实现将值与百分比相加,即 value += cm::Percent(),并返回加法结果。仅当百分比对象的 IsPercent() 方法返回 true 时,加法操作才会生效;否则直接返回值的引用。

模板参数
T加数的类型
参数
value
返回
加法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp249 行定义.

◆ Assign() [1/2]

Percent & cm::Percent::Assign ( double value,
bool is_percent = true )
inline

百分比类的赋值函数

该函数用于设置百分比类的值,并指定是否为百分比形式。默认情况下,值会被认为是百分比形式。

参数
value
is_percent是否百分比 默认为 true
返回
类自身引用,方便链式调用
作者
dreamy-xay
日期
2024-01-27

在文件 percent.hpp445 行定义.

◆ Assign() [2/2]

Percent & cm::Percent::Assign ( int value,
bool is_percent = false )
inline

百分比类的赋值函数

该函数用于设置百分比类的值,并指定是否为百分比形式。默认情况下,值会被认为是非百分比形式。

参数
value
is_percent是否百分比 默认为 false
返回
类自身引用,方便链式调用
作者
dreamy-xay
日期
2024-01-27

在文件 percent.hpp464 行定义.

◆ DividePercent()

template<typename T >
T & cm::Percent::DividePercent ( T & value) const
inline

实现百分比类的百分比除法

该函数用于实现将值除以百分比,即 value /= cm::Percent(),并返回除法结果。仅当百分比对象的 IsPercent() 方法返回 true 时,除法操作才会生效;否则直接返回值的引用。

模板参数
T被除数的类型
参数
value
返回
除法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp309 行定义.

◆ IsPercent()

bool cm::Percent::IsPercent ( ) const
inline

判断是否是百分比

该函数用于判断百分比类的值类型是否表示百分比形式。

返回
是否是百分比
返回值
true当前百分比类型的值 value 是百分比
false当前百分比类型的值 value 是普通数值
作者
dreamy-xay
日期
2024-01-27

在文件 percent.hpp482 行定义.

◆ MultiplyPercent()

template<typename T >
T & cm::Percent::MultiplyPercent ( T & value) const
inline

实现百分比类的百分比乘法

该函数用于实现将值乘以百分比,即 value *= cm::Percent(),并返回乘法结果。仅当百分比对象的 IsPercent() 方法返回 true 时,乘法操作才会生效;否则直接返回值的引用。

模板参数
T乘数的类型
参数
value
返回
乘法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp289 行定义.

◆ operator*()

template<typename T >
T cm::Percent::operator* ( const T & value) const
inline

百分比类重载乘法运算符

实现 cm::Percent() * value,当百分比对象为百分比形式(IsPercent() 返回 true)时,将百分比值乘以输入值并返回;否则直接返回百分比对象中存储的值(Value<T>())。

模板参数
T要相乘值的类型
参数
value
返回
乘法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp209 行定义.

◆ operator+()

template<typename T >
T cm::Percent::operator+ ( const T & value) const
inline

百分比类重载加法运算符

实现 cm::Percent() + value,当百分比对象为百分比形式(IsPercent() 返回 true)时,将百分比值与输入值进行相加返回;否则直接返回百分比对象中存储的值(Value<T>())。

模板参数
T相加值的value
参数
value
返回
加法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp169 行定义.

◆ operator-()

template<typename T >
T cm::Percent::operator- ( const T & value) const
inline

百分比类重载减法运算符

实现 cm::Percent() - value,当百分比对象为百分比形式(IsPercent() 返回 true)时,将百分比值减去输入值并返回;否则直接返回百分比对象中存储的值(Value<T>())。

模板参数
T要相减值的类型
参数
value
返回
减法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp189 行定义.

◆ operator/()

template<typename T >
T cm::Percent::operator/ ( const T & value) const
inline

百分比类重载除法运算符

实现 cm::Percent() / value,当百分比对象为百分比形式(IsPercent() 返回 true)时,将百分比值除输入值并返回;否则直接返回百分比对象中存储的值(Value<T>())。

模板参数
T要相除值的类型
参数
value
返回
除法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp229 行定义.

◆ Percentage()

std::string cm::Percent::Percentage ( uint precision = 2) const
inline

获取百分数字符串

该函数用于返回百分比对象的百分数字符串表示,可以指定精度。如果百分比对象表示的是非百分比值(is_percent 为 false),则返回该值的普通数值字符串。

参数
precision百分比精度
返回
百分数字符串(若为百分比值,则返回百分数字符串;若为非百分比值,则返回普通数值字符串)
作者
dreamy-xay
日期
2024-01-27

在文件 percent.hpp426 行定义.

函数调用图:

◆ SubtractPercent()

template<typename T >
T & cm::Percent::SubtractPercent ( T & value) const
inline

实现百分比类的百分比减法

该函数用于实现将值减去百分比,即 value -= cm::Percent(),并返回减法结果。仅当百分比对象的 IsPercent() 方法返回 true 时,减法操作才会生效;否则直接返回值的引用。

模板参数
T减数的类型
参数
value
返回
减法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp269 行定义.

◆ Value()

template<typename T >
T cm::Percent::Value ( ) const
inline

获取百分比的值

该函数用于获取百分比类的值,返回类型可以是任意类型 T。

模板参数
T返回值的类型,默认为 double 类型
返回
百分比的值
作者
dreamy-xay
日期
2024-01-27

在文件 percent.hpp411 行定义.

友元及相关函数文档

◆ operator*

template<typename T >
T operator* ( const T & value,
const Percent & percent )
friend

百分比类重载乘法运算符

该重载函数用于实现将值乘以百分比,即 value * cm::Percent(),并返回乘法结果。仅当百分比对象的 IsPercent() 方法返回 true 时,乘法操作才会生效;否则返回百分比对象的值。

模板参数
T乘数的类型
参数
value
percent百分比对象
返回
乘法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp372 行定义.

◆ operator+

template<typename T >
T operator+ ( const T & value,
const Percent & percent )
friend

百分比类重载加法运算符

该重载函数用于实现将值与百分比相加,即value + cm::Percent(),并返回加法结果。仅当百分比对象的 IsPercent() 方法返回 true 时,加法操作才会生效;否则返回百分比对象的值。

模板参数
T加数的类型
参数
value
percent百分比对象
返回
加法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp330 行定义.

◆ operator-

template<typename T >
T operator- ( const T & value,
const Percent & percent )
friend

百分比类重载减法运算符

该重载函数用于实现将值减去百分比,即 value - cm::Percent(),并返回减法结果。仅当百分比对象的 IsPercent() 方法返回 true 时,减法操作才会生效;否则返回百分比对象的值。

模板参数
T减数的类型
参数
value
percent百分比对象
返回
减法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp351 行定义.

◆ operator/

template<typename T >
T operator/ ( const T & value,
const Percent & percent )
friend

百分比类重载除法运算符

该重载函数用于实现将值除以百分比,即 value / cm::Percent(),并返回除法结果。仅当百分比对象的 IsPercent() 方法返回 true 时,除法操作才会生效;否则返回百分比对象的值。

模板参数
T被除数的类型
参数
value
percent百分比对象
返回
除法结果
作者
dreamy-xay
日期
2024-01-28

在文件 percent.hpp393 行定义.

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
const Percent & percent )
friend

百分比类重载输出流运算符

该函数用于重载百分比类的输出流运算符,使得可以直接将百分比对象输出到输出流中。

参数
out输出流对象
percent百分比对象
返回
返回输出流对象
作者
dreamy-xay
日期
2023-12-03

在文件 percent.hpp149 行定义.


该类的文档由以下文件生成: