运算符重载
来源:互联网 发布:杭州编程培训 编辑:程序博客网 时间:2024/06/05 07:01
#include <iostream>using namespace std;class matrix //定义矩阵matrix类{public: matrix() //matrix构造函数,初始化类 { for(int i=0;i<2;i++) for(int j=0;j<3;j++) a[i][j]=0; } /*运算符重载【overloading】,重载,也就是一名多用,使具有相同名字的函数或运算符在特定条件下实现不同的功能。 //格式: 函数类型 operator 运算符名称(形参表) // { 函数体 } //运算符重载实质上是函数的重载。!!! */ //将运算符重载为成员函数:可以通过this指针自由访问本类的数据成员,可少写一个函数参数。 matrix operator+(matrix &c1); /*重载流插入运算符<<和流提取运算符>> //格式如下 //!!!只能将重载>>和<<的函数作为友元函数!!! */ friend istream & operator>>(istream &,matrix &); friend ostream & operator<<(ostream &,matrix &);private: int a[2][3];};istream & operator>>(istream &input,matrix &m) // 这里input是istream类的对象cin的引用。。{ for(int i=0;i<2;i++) for(int j=0;j<3;j++) cin>>m.a[i][j];}matrix matrix::operator+(matrix &m1){ matrix m2; for(int i=0;i<2;i++) for (int j=0;j<3;j++) m2.a[i][j]=a[i][j]+m1.a[i][j]; return m2;}ostream & operator<<(ostream &output,matrix &m){ for(int i=0;i<2;i++) for(int j=0;j<3;j++) output<<m.a[i][j]<<' '; output<<endl;}int main(){ matrix x,y,z; cout<<"请输入矩阵a:"<<endl; cin>>x; cout<<"请输入矩阵b:"<<endl; cin>>y; z=x+y; cout<<"两矩阵之和为:"<<endl; cout<<z<<endl;; return 0;}
杨宁宁,你还差得远呢,可不可以更加努力一些?你不努力,怎么能得到你想要的未来?? -----------2013/5/21 20:38 烟大钟楼4412
- 运算符重载 [++,--,+,<<; &&,||(不可重载)]
- 重载之运算符重载
- 重载赋值运算符
- C++运算符重载
- 运算符重载
- 运算符重载总结
- 运算符重载例子
- 运算符重载
- 运算符重载
- 基础:运算符重载
- 运算符重载
- 运算符重载
- 重载赋值运算符
- C#运算符重载
- C++-运算符重载
- 重载赋值运算符
- 运算符重载
- 有关运算符重载
- PHP之父安迪:谷歌支持PHP一点也不奇怪
- 在VC、VB中使用ActiveX技术
- CSS如何实现数字分页效果
- pthread 基础篇 pthread_join
- vs2008写ICE接口小程序
- 运算符重载
- 类的sizeof
- 常用的性能监控命令
- ASP-工作原理
- JAVA设计模式——抽象工厂
- JavaScript入门、进阶需要知道的
- glibc字符串小函数
- 经典网页设计404页面第二季
- vc ACCESS数据库插入数据