运算符的重载包括双目运算符+的重载和输入输出流运算符的重载。

代码的功能是实现2行3列矩阵的加法

代码如下

#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()//构造函数的初始化
{for(int i=0;i<2;i++){for(int j=0;j<3;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<3;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<3;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<3;j++){out<<m.mat[i][j]<<" ";}out<<endl;}return out;
}
int main()
{matrix a,b,c;cin>>a;cin>>b;cout<<endl<<"matrix a:"<<endl<<a<<endl;//用cout输出矩阵,系统可根据上下文自动判断新定义的cout和原来的cout cout<<endl<<"matrix a:"<<endl<<a<<endl;c=a+b;cout<<endl<<"matrix c=matrix a+matrix b"<<endl<<c<<endl;return 0;
}

c++学习笔记之运算符的重载相关推荐

  1. c++学习笔记之运算符重载

    1.重载运算符 void operator+(....)        //重载"+"运算符 (1)如果是成员函数形式,那么必须是非static (2)使用运算符必须重载,除了&q ...

  2. Linux 高并发学习笔记 - exec 函数簇重载进程

    2.2.4 exec 函数簇重载进程 Linux 高并发学习笔记 - 笔记索引 execl.execlp.execle.execv.execvp.execvpe exec函数簇将重载进程,直接覆盖当前 ...

  3. (C++学习笔记七)运算符重载

    九.运算符重载 1.Code : #include<iostream> using namespace std;//运算符重载的意义: //对已有的 运算符 重新进行定义,赋予其另一项功能 ...

  4. python学习笔记之运算符

    目录 前言 软件环境 身份运算符 算术运算符 比较运算符 位移运算符 自变运算符 位运算符 逻辑运算符 成员关系运算符 Python真值表 最后 前言 在前面的博文介绍了Python的数据结构之后,接 ...

  5. C++学习笔记:(二)函数重载 常量与引用

    目录 3.函数重载 3.1 非成员函数重载 3.2 成员函数重载 3.3 函数的默认参数 3.4 内联函数 4.常量与引用 4.1 const的最初动机 4.2 const与指针 4.3 const与 ...

  6. meo学习笔记2:函数重载(C++)

    关于C++中的函数重载问题 1.前言 重载其实在是一个很基础的概念,我们用的时候也很多,但是我老是忘记相关的约定约束,下面就自己学习的相关问题做一个整理吧,主要说明函数重载的含义.函数重载的形式等问题 ...

  7. JAV学习笔记基础运算符

    运算符 这篇水的一批,都是些我自己不太注意的点,不太适合大家学习参考 Ctrl+D:复制当前行到下一行 a++:先输出后加一 ++a:现加1后输出 位运算 链接问题 package operation ...

  8. java计算5 5_Java基础学习笔记 -- 5(运算符)

    运算符(赋值.算术.关系.逻辑.+连接.三目) 1)赋值运算符 = 在Java里面,采用等号(=)进行赋值运算,即把右边的值赋给左边的变量. 例如:    int a = 10;String str ...

  9. 1.3(java学习笔记)构造方法及重载

    构造方法,用于对象的初始化,在创建对象时被自动调用的特殊方法.构造方法名称与类名一致,通过new调用. 下面通过代码来详细讲解 1 public class Point { 2 int x, y; 3 ...

最新文章

  1. fiddler无法获取Android端https请求解决办法
  2. 恭喜我的同事丁宇入选年度 IT 领军人物
  3. boost::hana::typeid_用法的测试程序
  4. php socket的一些问题
  5. 五大原则让你的代码不再受bug的困扰
  6. 【BZOJ1030】【Tyvj1806】文本生成器,AC自动机+DP
  7. CREATE TABLE TEST_A AS SELECT * FROM TEST_B
  8. 组态王与DLT645-2007电能表通讯调试总结
  9. VS2015使用FDDB数据库检查人脸检测算法并生成ROC曲线教程
  10. 阿里的数据同步神器——Canal
  11. uc android flash插件,UC7.3 Android手机上网新体验 支持Flash游戏
  12. 手机怎么模拟125k卡_NFC手机能模拟门禁卡吗?
  13. java当中怎么测试异步接口【杭州多测师_王sir】【杭州多测师】
  14. 登录Linux操作系统并执行第一个C语言代码
  15. 一条SQL语句执行成本的计算
  16. python 导入from osgeo import osr解决方法
  17. 更新和卸载 oh-my-zsh
  18. 陈勇写的滚动条类及使用举例
  19. ## I.MX6ULL学习笔记一I.MX启动方式
  20. 遥感基础之:LAI、FPAR、PAR、APAR

热门文章

  1. 清华大学郑莉c++答疑
  2. springer grammar revise tool
  3. what you should do in the morning?
  4. 怎样查看rpm安装包的安装路径
  5. MariaDB(MySQL)数据库的介绍及使用示例
  6. sql注入攻击与防御第二版读书笔记二——SQL盲注利用
  7. 完美搞定《DOCKER IN ACTION》第二章示例
  8. Android——开源框架Universal-Image-Loader + Fragment使用+轮播广告
  9. Javascript中var that=this;是什么意思(转)
  10. http/https面试总结