C++ 模板类 BinOper 实现二元运算
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++ 标准库文档
原文地址: https://www.cveoy.top/t/topic/osKE 著作权归作者所有。请勿转载和采集!