2024.3.14

成员函数版本实现算术运算符的重载
全局函数版本实现算术运算符的重载 

#include <iostream>
using namespace std;
class Number//定义一个数字类
{//因为a和b是私有成员,全局进行访问需要要friend进行声明friend const Number operator*(const Number &L,const Number &R);friend const Number operator/(const Number &L,const Number &R);
private:int a;int b;
public://无参构造Number(){}//有参构造并列表初始化Number(int a,int b):a(a),b(b){}//成员函数实现+运算符重载const Number operator+(const Number &R)const{Number sum;sum.a=a+R.a;sum.b=b+R.b;return sum;}//成员函数实现-运算符重载const Number operator-(const Number &R)const{Number sub;sub.a=a-R.a;sub.b=b-R.b;return sub;}void show()//将结果显示出来{cout<<"a="<<a<<"   "<<"b="<<b<<endl;}
};
//全局函数实现*运算符重载
const Number operator*(const Number &L,const Number &R)
{Number mul;mul.a=L.a*R.a;mul.b=L.b*R.b;return mul;
}
//全局函数实现/运算符重载
const Number operator/(const Number &L,const Number &R)
{Number divid;divid.a=L.a/R.a;divid.b=L.b/R.b;return divid;
}
int main()
{Number p1(55,7);Number p2(8,6);Number p3=p1+p2;cout<<"p1的a,b"<<"   ";//先将p1和p2的a,b打印出来,方便查看p1.show();cout<<"p2的a,b"<<"   ";p2.show();cout<<"成员函数的+"<<"   ";p3.show();cout<<"+++++++++++++++++++++"<<endl;p3=p1-p2;cout<<"成员函数的-"<<"   ";p3.show();cout<<"+++++++++++++++++++++"<<endl;p3=p1*p2;cout<<"全局函数的乘"<<"   ";p3.show();cout<<"+++++++++++++++++++++"<<endl;p3=p1/p2;cout<<"成员函数的/"<<"   ";p3.show();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/744734.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件设计师16--段页式存储

软件设计师16--段页式存储 考点1&#xff1a;页式存储存储管理 - 页式存储组织存储管理 - 页面置换算法例题&#xff1a; 考点2&#xff1a;段式存储存储管理 - 段式存储组织例题&#xff1a; 考点1&#xff1a;页式存储 存储管理 - 页式存储组织 页式存储&#xff1a;将程序…

NLP:HanLP的下载与使用

昨天说到要做一个自定义的训练模型&#xff0c;但是很快这个想法就被扑灭了&#xff0c;因为这个手工标记的成本太大&#xff0c;而且我的上级并不是想要我做这个场景&#xff0c;而是希望我通过这个场景展示出可以接下最终需求的能力。换句话来说&#xff1a;可以&#xff0c;…

基于FPGA的HyperRam接口设计与实现

一 HyperRAM 针对一些低功耗、低带宽应用&#xff08;物联网、消费产品、汽车和工业应用等&#xff09;&#xff0c;涉及到外部存储&#xff0c;HyperRAM提供了更简洁的内存解决方案。 HyperRAM具有以下特性&#xff1a; 1、超低功耗&#xff1a;200MHz工作频率下读写不到50mW…

[已解决]安装CUDA失败报错(附万能解决办法)

[已解决]安装CUDA失败报错(附万能解决办法) &#xff08;Tips&#xff1a;赶时间直接看万能法2&#xff09; 经过长时间的尝试和研究&#xff0c;我终于解决了安装CUDA失败报错的问题。在这里&#xff0c;我将记录下我遇到的问题以及解决办法&#xff0c;希望对其他小白们有所帮…

ssh 下连接Mysql 查看数据库数据表的内容的方法及步骤

要通过SSH连接到MySQL数据库&#xff0c;可以按照以下步骤进行操作&#xff1a; 在本地计算机上打开终端或命令提示符。 使用SSH命令连接到远程服务器。命令的格式如下&#xff1a; ssh usernameserver_ip其中&#xff0c;username是指在远程服务器上的用户名&#xff0c;serv…

ListBox显示图片的一些问题

相关&#xff1a;http://t.csdnimg.cn/xTnu8 显示图片的方案就是&#xff1a;自定义一个Photo类&#xff0c;里面有属性Source&#xff1b;View再绑定ViewModel中的Photo集合&#xff0c;再到View中给ListView设置数据模板 关键点&#xff1a;这样做很容易忘记写数据模板 数据…

专升本英语语法学习

背景知识&#xff1a; 主动语态。主动语态表示主语是动作的执行者。被动语态。被动语态表示主语是动作的承受者。 法则一&#xff1a;一山不容二虎原则&#xff08;主伴doing&#xff0c;被伴ed&#xff09; 详解&#xff1a; 【一句话中不能同时出现两个动词&#xff0c;除…

leetcode刷题(javaScript)——堆相关场景题总结

堆是什么&#xff1f;堆都能用树表示&#xff0c;并且一般树的实现都是利用链表。平时使用的最多的是二叉堆&#xff0c;它可以用完全二叉树表示&#xff0c;二叉堆易于存储&#xff0c;并且便于索引。在堆的实现时注意&#xff1a;因为是数组&#xff0c;所以父子节点的关系就…

3 种方法限制 K8s Pod 磁盘容量使用

容器在运行期间会产生临时文件、日志。如果没有任何配额机制&#xff0c;则某些容器可能很快将磁盘写满&#xff0c;影响宿主机内核和所有应用。 容器的临时存储&#xff0c;例如 emptyDir&#xff0c;位于目录/var/lib/kubelet/pods 下&#xff1a; /var/lib/kubelet/pods/ …

学生时期学习资源同步-1 第一学期结业考试题6

原创作者&#xff1a;田超凡&#xff08;程序员田宝宝&#xff09; 版权所有&#xff0c;引用请注明原作者&#xff0c;严禁复制转载

C语言之文件操作(万字详解)

个人主页&#xff08;找往期文章包括但不限于本期文章中不懂的知识点&#xff09;&#xff1a; 我要学编程(ಥ_ಥ)-CSDN博客 目录 前言 文件的打开和关闭 流和标准流 文件指针 文件的打开和关闭 文件的顺序读写 顺序读写函数介绍 fputc的使用 fgetc的使用 fput…

伪类和伪元素?

CSS 中的伪类和伪元素是两个不同的概念&#xff0c;它们都可以用来为元素添加一些特殊的样式或效果。 伪类&#xff08;Pseudo-classes&#xff09;&#xff1a; 伪类是 CSS 中用于选择元素在特定状态下的关键字&#xff0c;常见的伪类有 :hover、:active、:focus、:checked 等…

轮趣 IMU N100 九轴 IMU 在 ROS 下安装驱动

本篇介绍如何在ROS环境中使用 WHEELTEC N100 惯导模块。 轮趣 IMU N100 的 ROS 驱动程序下载链接&#xff1a;轮趣 IMU 资料 - 坚果云 - 云盘|网盘|企业网盘|同步|备份|无限空间|免费网络硬盘|企业云盘 1、CP2102 固定串口号 1.1 、修改串口号 在 Windows 中需要把 WHEELTE…

【话题】人工智能迷惑行为大赏

随着ChatGPT热度的攀升&#xff0c;越来越多的公司也相继推出了自己的AI大模型&#xff0c;如文心一言、通义千问等。各大应用也开始内置AI玩法&#xff0c;如抖音的AI特效&#xff5e;在使用过程中往往会遇到一些问题&#xff0c;让你不得不怀疑&#xff0c;这真的是人工智能吗…

nslookup和dig命令的使用方法以及区别

nslookup和dig是两个在DNS查询中常用的命令工具&#xff0c;它们的使用方法有所不同。 nslookup命令的使用方法如下&#xff1a; 1.正向解析&#xff1a;直接输入 nslookup 域名&#xff0c;例如 nslookup www.baidu.com&#xff0c;即可查询指定域名的IP地址。 2.查询域名制定…

Nodejs 第五十四章(net)

net模块是Node.js的核心模块之一&#xff0c;它提供了用于创建基于网络的应用程序的API。net模块主要用于创建TCP服务器和TCP客户端&#xff0c;以及处理网络通信。 TCP&#xff08;Transmission Control Protocol&#xff09;是一种面向连接的、可靠的传输协议&#xff0c;用于…

Linux系统Docker部署Plik系统结合内网穿透实现公网访问本地文件

文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问&#xff0c;实现随时随地在任意设备上传或者…

php中register_shutdown_function 函数用法详解

register_shutdown_function 是PHP中的一个功能&#xff0c;用于在脚本执行完毕或调用exit()后执行特定函数。此功能自PHP 4起被引入&#xff0c;并且持续支持到PHP 8。 功能说明 通过register_shutdown_function(callable $callback, mixed ...$args)方法注册回调函数&#…

支小蜜校园防霸凌系统都可以使用在哪些地方

校园防霸凌系统&#xff0c;作为一种有效的预防和干预工具&#xff0c;近年来在全球范围内受到越来越多的关注和应用。该系统综合运用现代科技手段&#xff0c;旨在识别、预防和应对校园内可能发生的霸凌行为&#xff0c;为师生提供一个安全、和谐的学习和生活环境。那么&#…

ArrayList 和 LinkedList 有什么区别?

1、典型回答 ArrayList 和 LinkedList 是 Java 中常用的集合类&#xff0c;它们都实现了 List 接口&#xff0c;如下图所示&#xff1a; 但二者有以下几点不同&#xff1a; 1、底层数据结构实现不同&#xff1a; ArrayList 底层使用数组实现&#xff0c;它通过一个可调整大小…