news 2026/4/25 16:50:55

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/4/25 3:18:08

工厂人员精准定位:技术落地入门刚需指南(包括核心痛点、技术逻辑、产品亮点)

本文面向工业物联网开发者、工厂 IT 负责人、安全生产系统集成商&#xff0c;通过高精度定位技术降低工厂事故率、优化人力调度、实现合规审计留痕&#xff0c;文章末尾可获取详细工厂人员精准定位方案~从互联网到物联网的发展进程中&#xff0c;工厂数字化转型已经不再局限于生…

作者头像 李华
网站建设 2026/4/25 13:16:35

专业版VS基础版:10款AI效率加速器的功能差异深度解析

&#xfffd;&#xfffd; 10大降AIGC平台核心对比速览 排名 工具名称 降AIGC效率 适用场景 免费/付费 1 askpaper ⭐⭐⭐⭐⭐ 学术论文精准降AI 付费 2 秒篇 ⭐⭐⭐⭐⭐ 快速降AIGC降重 付费 3 Aibiye ⭐⭐⭐⭐ 多学科论文降AI 付费 4 Aicheck ⭐⭐⭐⭐…

作者头像 李华
网站建设 2026/4/18 21:59:32

重庆思庄技术分享——让 PDB 随 CDB 启动自动 OPEN 的两种方式

让 PDB 随 CDB 启动自动 OPEN 的两种方式尤其是在做升级、补丁、系统重启或例行维护后&#xff0c;如果没有额外处理&#xff0c;业务 PDB 很可能停留在 MOUNTED&#xff0c;直接导致应用无法连接。本文基于 Oracle Database 19c&#xff0c;结合实际运维场景&#xff0c;系统性…

作者头像 李华
网站建设 2026/4/25 8:08:55

Java毕设选题推荐:基于springboot+小程序的智慧心理健康自助平台小程序的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】

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

作者头像 李华
网站建设 2026/4/18 4:46:06

论文写作利器推荐:6款AI工具高效赋能学术创作与质量提升

在科研写作中&#xff0c;融合前沿NLP算法的智能辅助系统能够高效完成学术论文的框架构建、文本润色和相似度分析等关键任务&#xff0c;特别适合学位论文写作及文献整理需求。需注意&#xff0c;此类AI工具本质上属于科研生产力增强手段&#xff0c;学者仍需严格把控研究内容的…

作者头像 李华
网站建设 2026/4/21 21:38:05

国内外主流大模型技术架构与特色优势深度解析

引言 2026年全球大模型市场已形成"百花齐放"的格局&#xff0c;国内外头部模型在技术架构上各有侧重&#xff0c;形成了差异化的竞争优势。本文将从技术架构、核心优势、应用场景、指令特性四个维度&#xff0c;对当前主流大模型进行深度剖析&#xff0c;并提供代码…

作者头像 李华