#include <iostream>
using namespace std;
class Arr{
public:
Arr();//构造
friend Arr operator+(Arr a1,Arr a2);
friend ostream& operator<<(ostream &,Arr &);
friend istream& operator>>(istream &,Arr &);
//void display();
//void input();
private:
int a[2][3];
};
Arr::Arr(){
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){ //传参
a[i][j]=0;
}
}
}
Arr operator+(Arr a1,Arr a2){
Arr a3;
int i,j;
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
a3.a[i][j]=a2.a[i][j]+a1.a[i][j];
}
}
return a3;
}
ostream& operator<<(ostream & output ,Arr &a1){
output<<a1.a[0][0]<<a1.a[0][1]<<a1.a[0][2];
output<<a1.a[1][0]<<a1.a[1][1]<<a1.a[1][2];
return output;
}
istream& operator>>(istream & input ,Arr &a1){
input>>a1.a[0][0]>>a1.a[0][1]>>a1.a[0][2];
input>>a1.a[1][0]>>a1.a[1][1]>>a1.a[1][2];
return input;
}
int main(){
Arr a1,a2,a3;
cin>>a1;
cin>>a2;
a3=a1+a2;
cout<<a3;
return 0;
}
若不重载运算符:
构造两个函数,display()和input()代码如下:
void Arr::input(){
int i,j;
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cin>>a[i][j];
}
}
}
void Arr::display(){
int i,j;
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<a[i][j]<<endl;
}
}
相应的main函数里面要相应修改,调用函数.