欢迎来到天天文库
浏览记录
ID:37927021
大小:134.00 KB
页数:7页
时间:2019-06-02
《C++矩阵类重载运算符》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++数据与结构第三次作业潘隆武21425202机械工程题目:在已建立N*M的矩阵类前提下,重载运算符“+”、“*”、“=”、“<<”、“>>”。#include#includeusingnamespacestd;classMatrix{public:Matrix();//默认构造函数Matrix(int,int);//初始化构造函数Matrix(constMatrix&);//拷贝构造函数~Matrix();//析构函数Matrixoperator+(Matrix
2、&);Matrixoperator*(Matrix&);Matrixoperator=(Matrix&);friendistream&operator>>(istream&,Matrix&);friendostream&operator<<(ostream&,Matrix&);private:introw;intcolumn;double**pt;};//主函数intmain(){system("COLOR0e");intr,c;Matrixtemp1,temp2;cout<<"请输入矩阵M1的行数(N
3、)和列数(M):"<>r>>c;MatrixM1(r,c);cin>>M1;cout<<"请输入矩阵M2的行数(N)和列数(M):"<>r>>c;MatrixM2(r,c);cin>>M2;cout<<"==================================================================="<4、out<<"==================================================================="<5、pt=NULL;}//创建row行column列的矩阵,并将其初始化为零阵Matrix::Matrix(intr,intc):row(r),column(c){if(row<16、7、column<1)cout<<"矩阵的行数和列数都必须大于0!"<8、数,以矩阵A创建新矩阵B并以A对B进行初始化Matrix::Matrix(constMatrix&m){row=m.row;column=m.column;pt=newdouble*[row];for(inti=0;i9、i=0;i>"进行重载,使它具有输入矩阵的功能istream&operator>>(istream&input,Matrix&m){cout<<"请输入"<>m.pt[i][j];}}returninput;}//对"<<"进行重载,使它具有10、输出矩阵的功能ostream&operator<<(ostream&output,Matrix&m){for(inti=0;i
4、out<<"==================================================================="<5、pt=NULL;}//创建row行column列的矩阵,并将其初始化为零阵Matrix::Matrix(intr,intc):row(r),column(c){if(row<16、7、column<1)cout<<"矩阵的行数和列数都必须大于0!"<8、数,以矩阵A创建新矩阵B并以A对B进行初始化Matrix::Matrix(constMatrix&m){row=m.row;column=m.column;pt=newdouble*[row];for(inti=0;i9、i=0;i>"进行重载,使它具有输入矩阵的功能istream&operator>>(istream&input,Matrix&m){cout<<"请输入"<>m.pt[i][j];}}returninput;}//对"<<"进行重载,使它具有10、输出矩阵的功能ostream&operator<<(ostream&output,Matrix&m){for(inti=0;i
5、pt=NULL;}//创建row行column列的矩阵,并将其初始化为零阵Matrix::Matrix(intr,intc):row(r),column(c){if(row<1
6、
7、column<1)cout<<"矩阵的行数和列数都必须大于0!"<8、数,以矩阵A创建新矩阵B并以A对B进行初始化Matrix::Matrix(constMatrix&m){row=m.row;column=m.column;pt=newdouble*[row];for(inti=0;i9、i=0;i>"进行重载,使它具有输入矩阵的功能istream&operator>>(istream&input,Matrix&m){cout<<"请输入"<>m.pt[i][j];}}returninput;}//对"<<"进行重载,使它具有10、输出矩阵的功能ostream&operator<<(ostream&output,Matrix&m){for(inti=0;i
8、数,以矩阵A创建新矩阵B并以A对B进行初始化Matrix::Matrix(constMatrix&m){row=m.row;column=m.column;pt=newdouble*[row];for(inti=0;i9、i=0;i>"进行重载,使它具有输入矩阵的功能istream&operator>>(istream&input,Matrix&m){cout<<"请输入"<>m.pt[i][j];}}returninput;}//对"<<"进行重载,使它具有10、输出矩阵的功能ostream&operator<<(ostream&output,Matrix&m){for(inti=0;i
9、i=0;i>"进行重载,使它具有输入矩阵的功能istream&operator>>(istream&input,Matrix&m){cout<<"请输入"<>m.pt[i][j];}}returninput;}//对"<<"进行重载,使它具有
10、输出矩阵的功能ostream&operator<<(ostream&output,Matrix&m){for(inti=0;i
此文档下载收益归作者所有