信管14:运算符重载习题7-12示例
2015-05-27 20:49
267 查看
#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][4];
};
Matrix::Matrix()
{ for(int i=0;i<2;i++)
for(int j=0;j<4;j++)
mat[i][j]=0;
}
Matrix operator+(Matrix& a,Matrix& b) //定义运算符"+"的重载函数
{ Matrix c;
for(int i=0;i<2;i++)
for(int j=0;j<4;j++)
{ c.mat[i][j]=a.mat[i][j]+b.mat[i][j]; }
return c;
}
istream& operator>>(istream&in,Matrix& m) //定义运算符">>"的重载函数
{ cout<<"input value of matrix:"<<endl;
for(int i=0;i<2;i++)
for(int j=0;j<4;j++)
in>>m.mat[i][j];
return in;
}
ostream& operator<<(ostream& out,Matrix& m) //定义运算符"<<"的重载函数
{ for(int i=0;i<2;i++)
{ for(int j=0;j<4;j++)
{ out<<m.mat[i][j]<<" ";}
out<<endl;
}
return out;
}
int main()
{ Matrix a,b,c;
cin>>a; //用cin输入矩阵a
cin>>b; //用cin输入矩阵b
cout<<"Matrix a=:"<<endl<<a<<endl; //用cout输出矩阵a
cout<<"Matrix b=:"<<endl<<b<<endl; //用cout输出矩阵b
c=a+b;
cout<<"Matrix c=:"<<endl<<c<<endl;//用cout输出矩阵c
system("pause");
return 0;
}
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][4];
};
Matrix::Matrix()
{ for(int i=0;i<2;i++)
for(int j=0;j<4;j++)
mat[i][j]=0;
}
Matrix operator+(Matrix& a,Matrix& b) //定义运算符"+"的重载函数
{ Matrix c;
for(int i=0;i<2;i++)
for(int j=0;j<4;j++)
{ c.mat[i][j]=a.mat[i][j]+b.mat[i][j]; }
return c;
}
istream& operator>>(istream&in,Matrix& m) //定义运算符">>"的重载函数
{ cout<<"input value of matrix:"<<endl;
for(int i=0;i<2;i++)
for(int j=0;j<4;j++)
in>>m.mat[i][j];
return in;
}
ostream& operator<<(ostream& out,Matrix& m) //定义运算符"<<"的重载函数
{ for(int i=0;i<2;i++)
{ for(int j=0;j<4;j++)
{ out<<m.mat[i][j]<<" ";}
out<<endl;
}
return out;
}
int main()
{ Matrix a,b,c;
cin>>a; //用cin输入矩阵a
cin>>b; //用cin输入矩阵b
cout<<"Matrix a=:"<<endl<<a<<endl; //用cout输出矩阵a
cout<<"Matrix b=:"<<endl<<b<<endl; //用cout输出矩阵b
c=a+b;
cout<<"Matrix c=:"<<endl<<c<<endl;//用cout输出矩阵c
system("pause");
return 0;
}
相关文章推荐
- 信管14:运算符重载作业7-9示例
- 信管14:运算符重载示例一
- 信管14:运算符重载示例三
- 信管14:运算符重载示例四
- 信管14:运算符重载示例五
- 信管14:函数重载示例
- 信管14:静态成员函数示例
- 信管14:友元函数示例
- 信管14:多重继承示例一
- 信管14:虚函数示例代码一
- 算法竞赛入门经典(第二版)-刘汝佳-第六章 数据结构基础 习题(12/14)
- 信管14:静态数据成员示例
- 12-多线程(卖票示例)1 2 14-多线程(线程安全问题产生的原因)
- 信管14:虚函数示例代码二
- 信管14:对象成员示例
- 信管14:纯虚函数示例代码
- 信管14:类的继承示例代码2
- 信管14:c++:定义对象示例:学生类
- 信管14:构造函数析构函数执行顺序示例
- 信管14:多重继承二义性示例代码