c++;编写三个名为add的重载函数,分别实现两个整数相加、两个实数相加和两个复数相加的功能。
时间: 2024-10-28 11:06:05 浏览: 38
C++两个一维数组相加求和
在C++中,你可以通过函数重载(Function Overload)来创建多个同名但功能不同的函数。下面是一个简单的例子,展示了如何编写三个名为`add`的函数,分别处理整数、浮点数和复数的相加:
```cpp
#include <iostream>
using namespace std;
// 用于表示复数,包含实部和虚部
struct Complex {
double real;
double imag;
};
// 整数相加
int add(int a, int b) {
return a + b;
}
// 浮点数相加
double add(double a, double b) {
return a + b;
}
// 复数相加 (这里我们简单地将虚部相加)
Complex add(Complex a, Complex b) {
Complex result;
result.real = a.real + b.real;
result.imag = a.imag + b.imag;
return result;
}
int main() {
int i1 = 5, i2 = 3;
cout << "Integers addition: " << add(i1, i2) << endl;
double d1 = 3.14, d2 = 1.618;
cout << "Doubles addition: " << add(d1, d2) << endl;
Complex c1 = {2.0, 3.0};
Complex c2 = {4.0, -1.0};
Complex sum = add(c1, c2);
cout << "Complex numbers addition: (" << sum.real << ", " << sum.imag << ")" << endl;
return 0;
}
```
在这个例子中,`add`函数可以根据传入的参数类型自动选择执行相应的操作。
阅读全文