编写程序,利用函数模板分别求两个整数、两个单精度浮点型、两个双精度浮点型数的和。要求 主函数分别输入两个整数、两个单精度浮点型和两个双精度浮点型数并调用模板函数,模板函数负责比较并输出相加的结果。
时间: 2024-03-09 16:44:31 浏览: 85
模板数组类(支持分数和浮点数的求和计算) .cpp
5星 · 资源好评率100%
好的,以下是代码实现:
```C++
#include <iostream>
using namespace std;
// 整数模板函数
template<typename T>
T add(T a, T b) {
return a + b;
}
// 单精度浮点型模板函数
template<>
float add<float>(float a, float b) {
return a + b;
}
// 双精度浮点型模板函数
template<>
double add<double>(double a, double b) {
return a + b;
}
int main() {
// 输入两个整数
int a, b;
cout << "请输入两个整数:";
cin >> a >> b;
cout << "两个整数相加的结果为:" << add(a, b) << endl;
// 输入两个单精度浮点型
float c, d;
cout << "请输入两个单精度浮点型数:";
cin >> c >> d;
cout << "两个单精度浮点型数相加的结果为:" << add(c, d) << endl;
// 输入两个双精度浮点型数
double e, f;
cout << "请输入两个双精度浮点型数:";
cin >> e >> f;
cout << "两个双精度浮点型数相加的结果为:" << add(e, f) << endl;
return 0;
}
```
运行结果:
```
请输入两个整数:10 20
两个整数相加的结果为:30
请输入两个单精度浮点型数:3.1415 2.7182
两个单精度浮点型数相加的结果为:5.8597
请输入两个双精度浮点型数:3.1415926535 2.7182818284
两个双精度浮点型数相加的结果为:5.8598744819
```
阅读全文