[YTU]_2442( C++习题 矩阵求和--重载运算符)
生活随笔
收集整理的这篇文章主要介绍了
[YTU]_2442( C++习题 矩阵求和--重载运算符)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目描述
有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加(如c=a+b)。
重载流插入运算符“<<”和流提取运算符“>>”,使之能用于该矩阵的输入和输出。
输入
两个2行3列矩阵
输出
矩阵之和
样例输入
1 2 3 4 5 67 8 9 1 2 3样例输出
8 10 12 5 7 9#include <iostream> using namespace std; class Matrix { public:Matrix();friend Matrix operator+(Matrix &,Matrix &);friend ostream& operator<<(ostream&,Matrix&);friend istream& operator>>(istream&,Matrix&); private:int mat[2][3]; }; Matrix::Matrix() {int i,j;for(i=0;i<2;i++)for(j=0;j<3;j++)mat[i][j]=0; }Matrix operator+(Matrix &a,Matrix &b) {Matrix S;int i,j;for(i=0;i<2;i++)for(j=0;j<3;j++)S.mat[i][j]=a.mat[i][j]+b.mat[i][j];return S; } istream& operator>>(istream& input,Matrix &m) {int i,j;for(i=0;i<2;i++)for(j=0;j<3;j++)input>>m.mat[i][j];return input; } ostream & operator<<(ostream &output,Matrix &m) {int i,j;for(i=0;i<2;i++)for(j=0;j<2;j++){output<<m.mat[i][j]<<' ';if(j==1)output<<m.mat[i][2]<<endl;}return output; } int main() {Matrix a,b,c;cin>>a;cin>>b;c=a+b;cout<<c<<endl;return 0; }总结
以上是生活随笔为你收集整理的[YTU]_2442( C++习题 矩阵求和--重载运算符)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: [YTU]_2640( 编程题:运算符重
- 下一篇: [YTU]_2384 ( 矩形类中运算符