C++ 模板类 BinOper 实现二元运算

题目描述

定义二元运算模板类 BinOper,主函数完成二元运算的测试。

BinOper 类结构说明:

(注意:在下列说明中 T 为模板类型参数)

BinOper 类的数据成员包括:

① 私有数据成员:左操作数 lop(T)。 ② 私有数据成员:右操作数 rop(T)。

BinOper 类的成员函数包括:

① 公有成员函数 void setData(T value1,T value2); 其功能是设置左右操作数的值,其中左操作数设置为 value1,右操作数设置为 value2。 ② 公有成员函数 T add(); 其功能是返回左操作数 + 右操作数的结果。 ③ 公有成员函数 T sub(); 其功能是返回左操作数 - 右操作数的结果。 ④ 公有成员函数 void swap(); 其功能交换左右操作数的值。

输入样例

5 8

输出样例

13
3

C++ 代码

#include <iostream>
using namespace std;

template <typename T>
class BinOper {
private:
    T lop;
    T rop;
public:
    void setData(T value1, T value2) {
        lop = value1;
        rop = value2;
    }
    T add() {
        return lop + rop;
    }
    T sub() {
        return lop - rop;
    }
    void swap() {
        T temp = lop;
        lop = rop;
        rop = temp;
    }
};

int main() {
    BinOper<int> a;
    BinOper<double> b;
    int d1, d2;
    cin >> d1 >> d2;
    a.setData(d1, d2);
    b.setData(d1, d2);
    b.swap();
    cout << a.add() << endl;
    cout << b.sub() << endl;
    return 0;
}

算法复杂度

  • setData(): O(1)
  • add(): O(1)
  • sub(): O(1)
  • swap(): O(1)

参考文献

  • C++ 标准库文档
C++ 模板类 BinOper 实现二元运算

原文地址: https://www.cveoy.top/t/topic/osKE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录