1. 写出名为add的重载函数,能分别实现两个整数、两个浮点数和2个字符串的相加。
时间: 2024-10-16 17:09:00 浏览: 65
在Python中,由于其动态类型特性,一般不需要显式地为不同数据类型编写重载函数。然而,如果你在一个支持重载的语言,如C++或Java,你可以这样做:
```cpp
// C++
#include <string>
// 函数模板实现加法操作,适用于整数和浮点数
template<typename T>
T add(T a, T b) {
return a + b;
}
// 对于字符串,需要特别处理因为它们是非数值类型的
std::string add(const std::string& str1, const std::string& str2) {
return str1 + str2;
}
int main() {
int intResult = add(5, 7); // 整数相加
float floatResult = add(3.14, 2.71); // 浮点数相加
std::string stringResult = add("Hello", "World"); // 字符串拼接
return 0;
}
```
或者在Java中:
```java
public class Main {
// 通用的加法方法,接受所有可以相加的对象(自动隐式转换)
public static <T extends Number> T add(T a, T b) {
return a.doubleValue() + b.doubleValue(); // 数值类型直接相加
}
// 专门用于字符串相加的方法
public static String add(String str1, String str2) {
return str1 + str2;
}
public static void main(String[] args) {
Integer intResult = add(new Integer(5), new Integer(7));
Double doubleResult = add(new Double(3.14), new Double(2.71));
String stringResult = add("Hello", "World");
}
}
```
阅读全文