编写程序,利用函数模板分别求出两个整数 两个单精度浮点型 两个双精度浮点型数的和 主函数分别输入两个整数两个单精度浮点数和两个双精度浮点数并调用函数模板 函数模板负责比较并输出相加的结果
时间: 2023-12-10 19:18:36 浏览: 83
好的,我可以为您提供这样的程序:
```c++
#include <iostream>
template<typename T>
T add(T a, T b)
{
return a + b;
}
template<typename T>
void printAdd(T a, T b)
{
std::cout << "The sum of " << a << " and " << b << " is " << add(a, b) << std::endl;
}
int main()
{
int a1, b1;
float a2, b2;
double a3, b3;
std::cout << "Please enter two integers: ";
std::cin >> a1 >> b1;
printAdd(a1, b1);
std::cout << "Please enter two floats: ";
std::cin >> a2 >> b2;
printAdd(a2, b2);
std::cout << "Please enter two doubles: ";
std::cin >> a3 >> b3;
printAdd(a3, b3);
return 0;
}
```
在上面的程序中,我们定义了一个函数模板 `add`,它接收两个类型相同的参数 `a` 和 `b`,并返回它们的和。我们还定义了另一个函数模板 `printAdd`,它接收两个类型相同的参数 `a` 和 `b`,并调用 `add` 函数计算它们的和,并输出到屏幕上。
在 `main` 函数中,我们先从用户输入中读取两个整数、两个单精度浮点数和两个双精度浮点数,然后分别调用 `printAdd` 函数,输出它们的和。由于我们使用了函数模板,这个程序可以处理任何支持加法操作的类型。
阅读全文