c++学习笔记之运算符的重载
生活随笔
收集整理的這篇文章主要介紹了
c++学习笔记之运算符的重载
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
運(yùn)算符的重載包括雙目運(yùn)算符+的重載和輸入輸出流運(yùn)算符的重載。
代碼的功能是實(shí)現(xiàn)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()//構(gòu)造函數(shù)的初始化 {for(int i=0;i<2;i++){for(int j=0;j<3;j++)mat[i][j]=0;} } matrix operator+(matrix&a,matrix&b)//定義運(yùn)算符“+”的重載函數(shù) {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)//定義運(yùn)算符“>>”的重載函數(shù) {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)//定義運(yùn)算符“<<”的重載函數(shù) {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輸出矩陣,系統(tǒng)可根據(jù)上下文自動判斷新定義的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; }?
總結(jié)
以上是生活随笔為你收集整理的c++学习笔记之运算符的重载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 彩色图像分割MATLAB代码
- 下一篇: s3c2440移植MQTT