4.从键盘输入5个数,然后将这5个数按逆转后的顺序输出出来。要求逆转顺序的函数能够处理整型、双精度型、字符串类型的数据。(用函数重载实现) 用c++
时间: 2024-09-14 21:04:04 浏览: 44
编码孔径成像:一种全息逆转滤波处理
在C++中,你可以通过函数重载(Function Overload)来实现一个通用的函数,该函数可以接受不同类型的数据(如整型、双精度型和字符串)。下面是一个简单的示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 函数模板用于处理整型数据
template <typename T>
void reversePrint(T num) {
cout << num << " ";
}
// 函数模板用于处理双精度型数据
template <>
void reversePrint<double>(double num) {
cout << num << " ";
}
// 函数模板用于处理字符串数据
template <>
void reversePrint<string>(const string& str) {
cout << str << " ";
}
int main() {
int intNums[5];
double doubleNums[5];
string str[5];
// 从键盘输入5个整数、浮点数和字符串
for (int i = 0; i < 5; ++i) {
cin >> intNums[i] >> doubleNums[i] >> str[i];
}
// 调用函数,逆序打印
reversePrint(intNums[0]);
for (int i = 1; i < 5; ++i) {
reversePrint(doubleNums[i - 1]);
reversePrint(intNums[i]);
reversePrint(str[i - 1]);
}
return 0;
}
```
在这个例子中,`reversePrint`函数被模板化,可以根据传入的参数类型自动选择适当的实现。当你运行这个程序并分别输入整数、浮点数和字符串后,它们会被按照输入的相反顺序输出。
阅读全文