用c++写出名为add的重载函数,能分别实现两个整数、两个浮点数和2个字符串的相加。
时间: 2024-10-16 09:09:09 浏览: 33
在C++中,为了实现不同类型的参数可以调用同一个函数名称`add`的多态行为,你需要定义一系列模板函数,每个模板函数处理一种特定的数据类型。以下是针对整数、浮点数和字符串的`add`函数示例:
```cpp
#include <iostream>
#include <string>
// 定义模板函数,用于两个整数的加法
template<typename T>
T add(T a, T b) {
return a + b;
}
// 定义模板函数,用于两个浮点数的加法
template<>
float add(float a, float b) {
return a + b;
}
// 定义模板函数,用于两个字符串的拼接
template<>
std::string add(const std::string& a, const std::string& b) {
return a + b;
}
int main() {
int intResult = add(5, 10);
float floatResult = add(3.14f, 2.71f);
std::string strResult = add("Hello, ", "World!");
std::cout << "Int result: " << intResult << std::endl;
std::cout << "Float result: " << floatResult << std::endl;
std::cout << "String result: " << strResult << std::endl;
return 0;
}
```
在这个例子中,`<typename T>`允许我们创建一个通用的函数模板,然后通过`template<>`关键字指定具体的特殊化版本,如`add<float>`和`add<std::string>`。
阅读全文