[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 ( 矩形类中运算符