写出名为add的重载函数,能分别实现两个整数、两个浮点数和两个字符串的相加
时间: 2024-10-22 17:12:42 浏览: 22
在编程中,为了处理不同类型的参数,可以编写多个同名函数,这就是方法重载(Overloading)。下面是一个简单的示例,展示了如何在 Python 中创建名为 `add` 的重载函数,分别用于整数、浮点数和字符串的操作:
```python
def add(a, b):
# 整数相加
if isinstance(a, int) and isinstance(b, int):
return a + b
# 浮点数相加
elif isinstance(a, float) and isinstance(b, float):
return a + b
# 字符串拼接
elif isinstance(a, str) and isinstance(b, str):
return a + b
else:
raise TypeError("Unsupported types for addition")
# 使用例子
print(add(5, 7)) # 输出:12
print(add(2.5, 3.8)) # 输出:6.3
print(add("Hello", "World")) # 输出:"HelloWorld"
```
在这个例子中,`add` 函数可以根据传入参数的类型自动选择合适的操作。
相关问题
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`函数可以根据传入参数的类型自动选择相应的实现。
写出名为add的重载函数,能分别实现两个整数、两个浮点数和2个字符串的相加
在面向对象编程中,函数的重载(Overload)是指在同一作用域内定义多个同名函数,但它们的参数列表不同,可以包括参数的数量、类型或者顺序。下面是一个简单的示例,展示如何编写三个名为`add`的重载函数,分别用于处理整数、浮点数和字符串的相加:
```java
public class MathOperations {
// 整数相加
public int add(int a, int b) {
return a + b;
}
// 浮点数相加
public double add(double a, double b) {
return a + b;
}
// 字符串拼接
public String add(String str1, String str2) {
return str1 + str2; // 这里是字符串连接操作,并非数值相加
}
}
```
在这个例子中,如果你有一个`MathOperations`对象,你可以根据传入的参数类型来选择调用哪个`add`函数。
阅读全文