如何重载加减乘除运算符,还有图片中flag=true是什么意思
3条回答 默认 最新
- 技术专家团-小桥流水 2022-12-14 16:59关注
运算符重载是类里的说法,你的Real类实现什么功能?把代码贴出来
flag=true这句话目前看着没有用处
运行结果:代码:
#include <iostream> using namespace std; class Real { private: float val; public: Real() { val = 0; } Real(float v) { if (v < -3.4e38 || v>3.4e38) cout << "Data Overflow" << endl; else val = (float)v; } void display() { cout << val << endl; } friend Real& operator+(Real& a, Real& b); friend Real& operator-(Real& a, Real& b); friend Real& operator*(Real& a, Real& b); friend Real& operator/(Real& a, Real& b); }; Real& operator+(Real& a, Real& b) { double v = a.val + b.val; Real c(v); return c; } Real& operator-(Real& a, Real& b) { double v = a.val - b.val; Real c(v); return c; } Real& operator*(Real& a, Real& b) { double v = a.val * b.val; Real c(v); return c; } Real& operator/(Real& a, Real& b) { double v = a.val / b.val; Real c(v); return c; } int main() { float a, b; char op; while (cin >> a >> b >> op) { Real A(a), B(b), C; if (op == '+') { C = A + B; C.display(); } else if (op == '-') { C = A - B; C.display(); } else if (op == '*') { C = A * B; C.display(); } else if (op == '/') { C = A / B; C.display(); } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录