运算符重载使两个数组合并
时间: 2023-09-11 10:06:28 浏览: 135
在C++中,可以使用运算符重载实现两个数组的合并。我们可以定义一个新的类来表示数组,然后重载"+"运算符来实现数组的合并。
以下是一个示例代码:
```c++
#include<iostream>
using namespace std;
class MyArray{
private:
int size;
int *arr;
public:
MyArray(int s=0){
size = s;
arr = new int[size];
}
MyArray(const MyArray& a){
size = a.size;
arr = new int[size];
for(int i=0; i<size; i++){
arr[i] = a.arr[i];
}
}
~MyArray(){
delete [] arr;
}
void input(){
for(int i=0; i<size; i++){
cin>>arr[i];
}
}
void output(){
for(int i=0; i<size; i++){
cout<<arr[i]<<" ";
}
cout<<endl;
}
MyArray operator+(const MyArray& a){
MyArray res(size+a.size);
for(int i=0; i<size; i++){
res.arr[i] = arr[i];
}
for(int i=0; i<a.size; i++){
res.arr[size+i] = a.arr[i];
}
return res;
}
};
int main(){
MyArray a1(3), a2(4), a3;
cout<<"Input a1: ";
a1.input();
cout<<"Input a2: ";
a2.input();
a3 = a1 + a2;
cout<<"a1+a2: ";
a3.output();
return 0;
}
```
在这个示例中,我们定义了一个名为"MyArray"的类来表示一个整型数组。我们重载了"+"运算符来实现两个数组的合并。在主函数中,我们创建了两个数组"a1"和"a2",并用重载的"+"运算符将它们合并到"a3"中,然后输出"a3"。
运行程序,输入以下值:
```
Input a1: 1 2 3
Input a2: 4 5 6 7
```
程序将输出:
```
a1+a2: 1 2 3 4 5 6 7
```
阅读全文