用c++写出实现两数的相加的函数模板
时间: 2023-06-16 15:03:31 浏览: 130
下面是实现两数相加的函数模板的示例代码:
```c++
#include <iostream>
template <typename T>
T add(T a, T b) {
return a + b;
}
int main() {
int a = 5, b = 7;
std::cout << add<int>(a, b) << std::endl; // 输出 12
double c = 3.14, d = 2.72;
std::cout << add<double>(c, d) << std::endl; // 输出 5.86
return 0;
}
```
在上面的代码中,我们定义了一个函数模板 `add`,它接受两个类型为 `T` 的参数,并返回它们的和。在 `main` 函数中,我们分别定义了两个整型和两个双精度浮点型变量,并分别调用了 `add` 函数模板,传入了相应的参数。在调用时,使用 `<T>` 显式地指定了函数模板的模板参数类型。最终,程序将输出两组相加的结果。
相关问题
用c++写出名为add的重载函数,能分别实现两个整数、两个浮点数和2个字符串的相加。
在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>`。
C++写出名为add的重载函数,能分别实现两个整数、两个浮点数和两个字符串的相加
在C++中,你可以通过模板(Template)和函数重载(Function Overload)来实现一个多态的`add`函数,它能够处理不同类型的数据:整数、浮点数和字符串。这里是一个简单的例子:
```cpp
#include <iostream>
#include <string>
// 函数重载,用于两个整数相加
template <typename T>
T add(T a, T b) {
return a + b;
}
// 浮点数相加
float add(float a, float b) {
return a + b;
}
// 字符串拼接(实际上不是真正的加法,这里是模拟)
std::string add(const std::string& a, const std::string& b) {
return a + b;
}
int main() {
int intResult = add(5, 7); // 整数相加
float floatResult = add(3.14, 2.71); // 浮点数相加
std::string strResult = add("Hello", "World"); // 字符串拼接
std::cout << "Int Result: " << intResult << "\n";
std::cout << "Float Result: " << floatResult << "\n";
std::cout << "String Result: " << strResult << "\n";
return 0;
}
```
在这个例子中,`add`函数可以根据传入参数的类型自动选择相应的实现。
阅读全文