用c++编写,用函数重载,实现两个不同类型数据的相加,包括int型,float型,double型,一维和二维数组
时间: 2024-06-13 18:08:37 浏览: 110
以下是使用函数重载实现两个不同类型数据的相加的C++代码,包括int型,float型,double型,一维和二维数组:
```c++
#include<iostream>
using namespace std;
// 一维数组相加
int add(int a[], int b[], int n) {
int c[n];
for(int i=0; i<n; i++) {
c[i] = a[i] + b[i];
}
return c;
}
// 二维数组相加
int** add(int a[][3], int b[][3], int m, int n) {
int** c = new int*[m];
for(int i=0; i<m; i++) {
c[i] = new int[n];
for(int j=0; j<n; j++) {
c[i][j] = a[i][j] + b[i][j];
}
}
return c;
}
// int型相加
int add(int a, int b) {
return a + b;
}
// float型相加
float add(float a, float b) {
return a + b;
}
// double型相加
double add(double a, double b) {
return a + b;
}
int main() {
int a1[] = {1, 2, 3};
int b1[] = {4, 5, 6};
int* c1 = add(a1, b1, 3);
for(int i=0; i<3; i++) {
cout << c1[i] << " ";
}
cout << endl;
int a2[][3] = {{1, 2, 3}, {4, 5, 6}};
int b2[][3] = {{7, 8, 9}, {10, 11, 12}};
int** c2 = add(a2, b2, 2, 3);
for(int i=0; i<2; i++) {
for(int j=0; j<3; j++) {
cout << c2[i][j] << " ";
}
cout << endl;
}
int a3 = 1, b3 = 2;
cout << add(a3, b3) << endl;
float a4 = 1.1, b4 = 2.2;
cout << add(a4, b4) << endl;
double a5 = 1.111, b5 = 2.222;
cout << add(a5, b5) << endl;
return 0;
}
```
阅读全文