描述 编写类模板,类体内定义成员函数,使计算器可以实现不同类型数据(int,float等)的加、减、乘、除运算。 将类体内定义成员函数改为类体外定义成员函数 输入 入两个浮点型数据: 输入两个整形数据: 输出 两个浮点型数据的 和 结果 减 结果 乘 结果 除 结果 样例输入 1.1 2.2 2 3 样例输出 和为3.3 减为-1.1 乘为2.42 除为0.5 和为5 减为-1 乘为6 除为0
时间: 2024-02-03 08:15:51 浏览: 121
类模板的定义如下:
```cpp
template<typename T>
class Calculator {
public:
T add(T a, T b);
T sub(T a, T b);
T mul(T a, T b);
T div(T a, T b);
};
template<typename T>
T Calculator<T>::add(T a, T b) {
return a + b;
}
template<typename T>
T Calculator<T>::sub(T a, T b) {
return a - b;
}
template<typename T>
T Calculator<T>::mul(T a, T b) {
return a * b;
}
template<typename T>
T Calculator<T>::div(T a, T b) {
return a / b;
}
```
然后在主函数中使用这个类模板进行计算即可,代码如下:
```cpp
#include <iostream>
using namespace std;
template<typename T>
class Calculator {
public:
T add(T a, T b);
T sub(T a, T b);
T mul(T a, T b);
T div(T a, T b);
};
template<typename T>
T Calculator<T>::add(T a, T b) {
return a + b;
}
template<typename T>
T Calculator<T>::sub(T a, T b) {
return a - b;
}
template<typename T>
T Calculator<T>::mul(T a, T b) {
return a * b;
}
template<typename T>
T Calculator<T>::div(T a, T b) {
return a / b;
}
int main() {
float a, b, sum, sub, mul, div;
int c, d, res1, res2, res3, res4;
cout << "输入两个浮点型数据:" << endl;
cin >> a >> b;
Calculator<float> calc1;
sum = calc1.add(a, b);
sub = calc1.sub(a, b);
mul = calc1.mul(a, b);
div = calc1.div(a, b);
cout << "和为" << sum << " 减为" << sub << " 乘为" << mul << " 除为" << div << endl;
cout << "输入两个整形数据:" << endl;
cin >> c >> d;
Calculator<int> calc2;
res1 = calc2.add(c, d);
res2 = calc2.sub(c, d);
res3 = calc2.mul(c, d);
res4 = calc2.div(c, d);
cout << "和为" << res1 << " 减为" << res2 << " 乘为" << res3 << " 除为" << res4 << endl;
return 0;
}
```
阅读全文