2 Star 0 Fork 0

Kenneth-Lee-2012 / card24

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
float_val.cpp 1.25 KB
一键复制 编辑 原始数据 按行查看 历史
Kenneth Lee 提交于 2022-10-19 11:51 . refine the build structure
// Copyrights by Kenneth Lee, 2022. All Rights Reserved
#include "float_val.hpp"
FloatVal::FloatVal(int i) {
v = (float)i;
state = ST_VAL;
}
FloatVal::FloatVal() {
state = ST_NON;
}
FloatVal::FloatVal(const char *s) {
*this = FloatVal(atoi(s));
}
bool operator==(const FloatVal &l, const FloatVal &r) {
if (!((ValIf)l).state_compare((ValIf &)r))
return false;
return l.v == r.v;
}
ostream & operator<<(ostream & os, const FloatVal & v) {
if (v.state != ValIf::ST_VAL)
((ValIf)v).show(os);
else
os << v.v;
return os;
}
FloatVal operator+(const FloatVal &l, const FloatVal &r) {
FloatVal ret;
if (((ValIf&)ret).op_init(l, r))
ret.v = l.v + r.v;
return ret;
}
FloatVal operator-(const FloatVal &l, const FloatVal &r) {
FloatVal ret;
if (((ValIf&)ret).op_init(l, r))
ret.v = l.v - r.v;
return ret;
}
FloatVal operator*(const FloatVal &l, const FloatVal &r) {
FloatVal ret;
if (((ValIf&)ret).op_init(l, r))
ret.v = l.v * r.v;
return ret;
}
FloatVal operator/(const FloatVal &l, const FloatVal &r) {
FloatVal ret;
if (((ValIf&)ret).op_init(l, r)) {
if (r.v != 0)
ret.v = l.v / r.v;
else {
ret.state = ValIf::ST_INV;
}
}
return ret;
}
FloatVal & FloatVal::operator=(const char *s) {
*this = FloatVal(atoi(s));
return *this;
}
C++
1
https://gitee.com/Kenneth-Lee-2012/card24.git
git@gitee.com:Kenneth-Lee-2012/card24.git
Kenneth-Lee-2012
card24
card24
master

搜索帮助