cpp2.cpp
来自「一、教学目的: 能理解C++中运算符重载的需要性」· C++ 代码 · 共 46 行
CPP
46 行
#include <iostream.h>
#include <stdlib.h>
class Matrix
{
public:
Matrix(int r,int c)
{
row=r;col=c;
elem=new double[row*col];
}
double &operator()(int x,int y)
{
return elem[col*x+y];
}
friend Matrix& operator +(Matrix& arr1,Matrix arr2);
~Matrix() {delete[] elem;}
private:
double *elem;
int row,col;
};
Matrix &operator+(Matrix &arr1,Matrix arr2)
{
if(arr1.row!=arr2.row||arr1.col!=arr2.col)
{
cout<<"error"<<endl;
exit(-1);
}
for(int i=0;i<arr1.row;i++)
for(int j=0;j<arr1.col;j++)
arr1(i,j)=arr1(i,j)+arr2(i,j);
return(arr1);
}
void main()
{
Matrix m(2,3),n(2,3),r(2,3);
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
{m(i,j)=i+5;
n(i,j)=j+3;};
for(int k=0;k<2;k++)
{for(int j=0;j<3;j++)
cout<<m(k,j)+n(k,j)<<" ";
cout<<endl;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?