news 2026/9/5 16:45:27

C++之运算符重载案例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++之运算符重载案例
  • 不是所有的操作符都能重载,下面操作符不能重载
::.?:sizeoftypeid
  • 实现一个3*3的矩阵类,支持如下操作符:
    • 运算类双目操作符:+ - *
    • 赋值类双目操作符:+= -= *=
    • 单目操作符:-(相反数)
    • 输出操作符:<<
#include<iostream>usingnamespacestd;classMat33{private:intm_a[3][3];public:Mat33(void){for(inti=0;i<3;i++){for(intj=0;j<3;j++){m_a[i][j]=0;}}}Mat33(inta[][3]){for(inti=0;i<3;i++){for(intj=0;j<3;j++){m_a[i][j]=a[i][j];}}}// + a+bconstMat33operator+(constMat33&m)const{inta[3][3]={0};for(inti=0;i<3;i++){for(intj=0;j<3;j++){a[i][j]=m_a[i][j]+m.m_a[i][j];}}Mat33result(a);returnresult;}// - a-bconstMat33operator-(constMat33&m)const{inta[3][3]={0};for(inti=0;i<3;i++){for(intj=0;j<3;j++){a[i][j]=m_a[i][j]-m.m_a[i][j];}}Mat33result(a);returnresult;}// * a*bconstMat33operator*(constMat33&m)const{inta[3][3]={0};for(inti=0;i<3;i++){for(intj=0;j<3;j++){for(intk=0;k<3;k++){a[i][j]+=m_a[i][k]*m.m_a[k][j];}}}Mat33result(a);returnresult;}// += a += b;Mat33&operator+=(constMat33&m){*this=*this+m;// operator+return*this;}// -= a -= b;Mat33&operator-=(constMat33&m){*this=*this-m;// operator-(m)return*this;}// *= a *= b;Mat33&operator*=(constMat33&m){*this=*this*m;// operator*return*this;}//-(取负) -a;constMat33operator-(void)const{Mat33 m;returnm-*this;// operator-(m)}/* * os << a; * */friendostream&operator<<(ostream&os,constMat33&m){for(inti=0;i<3;i++){for(intj=0;j<3;j++){os<<m.m_a[i][j]<<" ";}cout<<endl;}returnos;}};intmain(void){inta1[3][3]={1,2,3,4,5,6,7,8,9};inta2[3][3]={9,8,7,6,5,4,3,2,1};Mat33m1(a1);Mat33m2(a2);cout<<m1<<endl;cout<<m2<<endl;cout<<"m1+m2: "<<endl;cout<<m1+m2<<endl;cout<<"m1-m2: "<<endl;cout<<m1-m2<<endl;cout<<"m1*m2: "<<endl;cout<<m1*m2<<endl;cout<<"m1 += m2: "<<endl;cout<<(m1+=m2)<<endl;cout<<"m1 -= m2: "<<endl;cout<<(m1-=m2)<<endl;cout<<"m1 *= m2: "<<endl;cout<<(m1*=m2)<<endl;cout<<"-m2"<<endl;cout<<-m2<<endl;return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 18:31:45

计算机Java毕设实战-基于微信小程序的私人健康管理系统基于springboot+小程序的智能身心健康管家系统小程序的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/9/3 10:02:03

Java毕设选题推荐:基于springboot+小程序的智能身心健康管家系统小程序基于微信小程序的智能身心健康管家系统健康档案数据【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/8/22 0:07:08

Go语言与云原生微服务生态:天然契合的生产力标配

Go语言与云原生微服务生态&#xff1a;天然契合的生产力标配 Go语言与云原生的关系如同鱼与水&#xff0c;Docker、Kubernetes、etcd、Consul、Prometheus、Istio等云原生基础设施全用Go编写&#xff0c;使得Go成为云原生事实标准语言。本文深入剖析Go在微服务架构中的独特优势…

作者头像 李华
网站建设 2026/9/5 1:25:03

高效技巧公开:7款AI辅助论文写作网站的权威排名

2025年学术写作迎来革命性升级&#xff0c;7款顶尖AI论文工具实测对比数据显示&#xff0c;这些智能平台能高效解决选题困难、文献梳理与格式规范等核心痛点。通过系统评估上百篇论文的生成效果&#xff0c;最新发布的AI写作工具在文献综述自动化、学术语言优化及参考文献管理方…

作者头像 李华
网站建设 2026/8/30 16:14:44

基于Android的电影院网上订票系统源码文档部署文档代码讲解等

课题介绍随着影视行业的快速发展&#xff0c;人们观影需求日益增长&#xff0c;传统电影院线下购票模式存在排队耗时久、场次查询不便、座位选择受限、票源紧张时购票困难等问题&#xff0c;影响用户观影体验与电影院运营效率。本课题旨在设计并实现一个基于Android的电影院网上…

作者头像 李华
网站建设 2026/9/4 13:42:02

特价股票投资中的智能合约自动化合规策略

特价股票投资中的智能合约自动化合规策略关键词&#xff1a;特价股票投资、智能合约、自动化合规策略、区块链、金融科技摘要&#xff1a;本文聚焦于特价股票投资领域&#xff0c;深入探讨智能合约在实现自动化合规策略方面的应用。首先介绍了特价股票投资的背景以及智能合约自…

作者头像 李华