用c++写出实现两数的相加的函数模板
时间: 2023-06-16 07:03:31 浏览: 68
下面是实现两数相加的函数模板的示例代码:
```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++构建一个两位数相加的函数
好的,我可以回答这个问题。以下是一个用 C 语言构建的两位数相加的函数:
```
int addTwoDigits(int a, int b) {
return a + b;
}
```
这个函数接受两个整数参数,将它们相加并返回结果。如果你想让这个函数只接受两位数作为参数,你可以在函数内部添加一些逻辑来进行验证。
用c++写个函数模板实现任意类型的转换
可以使用 C++11 引入的 `std::to_string` 和 `std::stringstream` 等函数和类模板来实现任意类型的转换,代码如下:
```c++
#include <string>
#include <sstream>
template<typename T>
std::string to_string(T value)
{
std::stringstream ss;
ss << value;
return ss.str();
}
```
通过上述函数模板,我们可以将任何类型的值转换为字符串类型,如下:
```c++
int num = 123;
std::string str = to_string(num);
```
同样的,我们也可以实现字符串到任意类型的转换:
```c++
template<typename T>
T from_string(const std::string& str)
{
std::stringstream ss(str);
T value;
ss >> value;
return value;
}
```
通过上述函数模板,我们可以将字符串类型的值转换为任何类型,如下:
```c++
std::string str = "123";
int num = from_string<int>(str);
```
需要注意的是,上述代码中,如果字符串无法转换为指定类型,则会产生运行时错误。因此,在使用时需要保证字符串的正确性。