面向对象程序设计上机练习十一(运算符重载)
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
有两个矩阵a和b,均为2行3列,求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加。如:c=a+b。
Input
第1、2行是矩阵a的值,数据以空格分开。
第3、4行是矩阵b的值,数据以空格分开。
第3、4行是矩阵b的值,数据以空格分开。
Output
2个矩阵a、b之和,以行列形式显示。
Example Input
2 3 4 3 5 3 4 3 1 5 4 3
Example Output
6 6 5 8 9 6
#include <iostream> #include <cstdlib> #include <string.h> using namespace std; class juzhen{ private: int a[2][3]; public: juzhen(){ memset(a,0,sizeof(a)); } ~juzhen() {} void set(){ for(int i = 0; i < 2; i++){ for(int j = 0; j < 3; j++){ cin>>a[i][j]; } } } juzhen operator+ (juzhen &b){ juzhen c; for(int i = 0; i < 2; i++){ for(int j = 0; j < 3; j++){ c.a[i][j] = this->a[i][j] + b.a[i][j]; } } return c; } void show(){ int i, j; for(i = 0; i < 2; i++){ for(j = 0; j < 2; j++){ cout<<a[i][j]<<" "; } cout<<a[i][j]<<endl; } } }; int main(){ juzhen s, t, p; s.set(); t.set(); p = s + t; p.show(); return 0; }