C++ primer例子1实现

问题

在这里插入图片描述

代码

Sales_item.h

#include<iostream>
#include<string>
class Sales_item
{public:Sales_item(){};Sales_item(std::string insid, int num, double price);friend std::istream& operator>>(std::istream& is, Sales_item& item);friend std::ostream& operator<<(std::ostream& os, const Sales_item& item);friend Sales_item operator+(const Sales_item& item1,const Sales_item& item2);private:std::string insid_;int num_;double price_;
};

Sales_item.cpp

#include"Sales_item.h"Sales_item::Sales_item(std::string insid, int num, double price)
:insid_(insid)
,num_(num)
,price_(price)
{
}std::istream& operator>>(std::istream& is, Sales_item& item)
{is>>item.insid_>>item.num_>>item.price_;return is;
}std::ostream& operator<<(std::ostream& os,const Sales_item& item)
{os<< item.insid_<<" "<<item.num_<<" "<<item.num_*item.price_<<" "<<item.price_;return os;
}Sales_item operator+(const Sales_item& item1,const Sales_item& item2)
{if(item1.insid_==item2.insid_){return Sales_item(item1.insid_, item1.num_+item2.num_, (item1.num_*item1.price_+item2.num_*item2.price_)/(item1.num_+item2.num_));}else{return item1;}
}

prog1.cc

#include<iostream>
#include "Sales_item.h"
int main()
{Sales_item item1,item2;std::cin>>item1>>item2;std::cout<<"相加结果:"<<std::endl;std::cout<<item1+item2<<std::endl;return 0;
}

运行

g++ prog1.cc Sales_item.cpp -o prog
[root@localhost myPractice]# ./prog 
0-201-78345-X 3 20.00
0-201-78345-X 2 25.00
相加结果:
0-201-78345-X 5 110 22

知识点

友元函数可以访问其所属类的私有成员,但不是类的成员函数。友元函数没有隐含的this指针,因此不能直接访问类的非静态成员变量.

思考:
1.不使用友元函数怎么实现?
2.哪些运算符不能重载?

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

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

相关文章

springboot 图形验证码 前后端分离解决方案 easy-captcha

easy-captcha介绍 easy-captcha&#xff0c;提供了Java图形验证码&#xff0c;支持gif、中文、算术等类型&#xff0c;可用于Java Web、JavaSE等项目&#xff0c;是个很好用的工具库&#xff0c;文档比较完备。 用法 添加maven依赖 <!--图形验证码--><dependency&g…

支付系统-业务账单

target&#xff1a;离开柬埔寨倒计时-210day 前言 最近不知道该写什么了&#xff0c;很多东西要写起来非常耗时间&#xff0c;写作是真的不容易呀 我们的支付系统账单有两大类&#xff0c;一个是业务账单还有一个就是资金记录&#xff0c;都是引发资金流后的资金变动表现&…

高效数据处理的前沿:【C++】、【Redis】、【人工智能】与【大数据】的深度整合

目录 1.为什么选择 C 和 Redis&#xff1f; 2.人工智能与大数据的背景 1.大数据的挑战 2.人工智能的需求 3.C 与 Redis 的完美结合 1.安装 Redis 和 Redis C 客户端 2.连接 Redis 并进行数据操作 高级数据操作 列表操作 哈希操作 4.与大数据和人工智能结合 5.实际应…

机器学习18个核心算法模型

1. 线性回归&#xff08;Linear Regression&#xff09; 用于建立自变量&#xff08;特征&#xff09;和因变量&#xff08;目标&#xff09;之间的线性关系。 核心公式&#xff1a; 简单线性回归的公式为&#xff1a; , 其中 是预测值&#xff0c; 是截距&#xff0c; 是斜…

【C语言】结构体(及位段)

你好&#xff01;感谢支持孔乙己的新作&#xff0c;本文就结构体与大家分析我的思路。 希望能大佬们多多纠正及支持 &#xff01;&#xff01;&#xff01; 个人主页&#xff1a;爱摸鱼的孔乙己-CSDN博客 欢迎 互粉哦&#x1f648;&#x1f648;&#xff01; 目录 1. 声明结构…

解锁财富新篇章:消费增值模式引领未来消费趋势

你是否曾对日常消费感到一丝单调&#xff0c;认为它仅仅是一种物质上的交换&#xff0c;而非财富增长的途径&#xff1f;那么&#xff0c;让我们为你打开一扇全新的消费之门——消费增值模式。这不仅是一种全新的消费体验&#xff0c;更是一种让你的资金在消费过程中不断积累与…

百度地图API 教程使用 嵌套到vue3项目中使用,能够定位并且搜索地点名称位置,反向解析获取经度和维度

文章目录 目录 文章目录 流程 小结 概要安装流程技术细节小结 概要 注册百度地图成为开发者&#xff1a; 登录百度账号 注册成功开始下一步 百度地图API是百度提供的一组开发接口&#xff0c;用于在自己的应用程序中集成地图功能。通过百度地图API&#xff0c;您可以实现地图…

PS的抠图算法原理剖析 1

以这个抠tree为例子 在PS里&#xff0c;操作过程是让你开启R G B三个通道 分别看一下 哪一个的对比最明显 上面的图片 树叶肯定B最少 天空B富裕&#xff0c;所以对比最明显的就用B通道 然后使用一些奇怪的函数&#xff0c;把texture.bbb这张图片变成黑白&#xff0c;纯黑纯白 那…

mysql连接不上可能的原因:防火墙放行mysql的3306端口 全库复制:data目录替换即可 mysql查看版本

1.看本地localhost能否连接 2.在本地看IP能否连接 能说明本地正常 权限也够 都能的话&#xff0c;ip能否ping通 能就说明可能是防火墙原因了。关闭防火墙及杀毒试试。 我这里关防火墙就能访问了。 windows如何开启防火墙&#xff0c;又放行mysql的3306端口&#xff1f; 在 …

银行从业者心声:银行工作,是围城还是试炼场?

我的一个朋友&#xff0c;曾经对银行工作抱有美好的幻想&#xff0c;觉得那是一个光鲜亮丽、稳定无忧的职业。然而&#xff0c;当他真正踏入银行的大门&#xff0c;成为一名柜员后&#xff0c;才深刻体会到了其中的艰辛与不易。 他告诉我&#xff0c;银行的工作远非他想象中的…

十二、配置注解执行SQL

简化一下流程&#xff0c;主要可以分为下面几步&#xff1a; 1.解析配置&#xff0c;写入配置项 2.执行SQL 3.封装结果 通过注解配置SQL主要体现在解析部分&#xff0c;这部分要分别做解析XML还是配置注解的接口&#xff0c;拿到sql以后&#xff0c;select的处理和insert/upda…

创建 MFC DLL-使用DEF文件

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系本人将于及时删除 利用“MFC动态链接库”项目模板可以创建MFC DLL。DLL文件与可执行文件非常相似&#xff0c;不同点在于DLL包含有导出表(Export Table)。导出表包含DLL中每个导出函数的名字…

2024年5月份架构师考试案例真题完整版

案例分析&#xff1a; 今年的案例题 第一个必选题是 系统架构评估&#xff0c;文老师是押中了。 案例一&#xff1a;系统架构评估 1. 简述微服务架构 对比单体架构和微服务架构 微服务架构的优缺点。(7分) 答&#xff1a;微服务架构是一种分布式系统架构&#xff0c;将一个应用…

特征交叉系列:FM和深度神经网络的结合,DeepFM原理简述和实践

从FM&#xff0c;FFM到DeepFM 在上两节中介绍了FM和FFM 这两种算法是推荐算法中经典的特征交叉结构&#xff0c;FM将特征交叉分解到底层属性&#xff0c;通过底层属性的点乘来刻画特征交叉的计算&#xff0c;而FFM引入特征域的概念&#xff0c;对不同的特征对所引用的底层属性…

React中实现大模型的打字机效果

React 想实现一个打字机的效果&#xff0c;类似千问、Kimi 返回的效果。调用大模型时&#xff0c;模型的回答通常是流式输出的&#xff0c;如果等到模型所有的回答全部完成之后再展示给最终用户&#xff0c;交互效果不好&#xff0c;因为模型计算推理时间比较长。本文将采用原生…

SD3303A 大功率高亮度LED驱动芯片IC

一般描述 SD3303A是一款大功率高亮度LED驱动芯片,可以提供1A的电流驱动3W的LED。具有高效率&#xff0c;低功耗等特点&#xff0c;适用于电池供电的LED照明设备。 SD3303A具有开路保护和过温保护。 SD3303A需要使用两颗10uF(或者更大)的瓷片电容&#xff0c;来保…

AI大模型+产品经理:打造智能产品的黄金组合

前言 当我们谈论AI大模型与产品经理的结合&#xff0c;不仅仅是技术与创意的碰撞&#xff0c;更是对未来智能生活的期待。想象一下&#xff0c;当产品的灵魂被注入智能的血液&#xff0c;它们将成为我们生活中不可或缺的伙伴。 我们不仅仅是要探索AI大模型的深层技术&#xf…

深度缓冲技术在AI绘画中的魔法

随着人工智能技术的飞速发展&#xff0c;AI绘画已经成为艺术创作领域中的一个热门话题。从数字滤镜到复杂的图像生成算法&#xff0c;AI绘画正以前所未有的方式拓展着艺术的边界。在这个过程中&#xff0c;深度缓冲技术扮演了一个不可或缺的角色&#xff0c;它不仅提升了AI绘画…

103、python-第三阶段-13-大数据分布式集群运行

hadoop集群 4个多G的数据在集群中用了2.9分钟&#xff0c;如果在一个机器上运行大概需要十几分钟&#xff0c;所以集群速度还是很快的。

美国年轻人热衷床上“摆烂”,沃尔玛发掘床上用品新商机!

美国年轻人近年来热衷于床上“摆烂”生活方式&#xff0c;这反映了他们对舒适放松的追求和现代生活的压力。沃尔玛作为零售业巨头&#xff0c;敏锐地捕捉到这一市场变化&#xff0c;发现了床上用品的新商机。 美国年轻人忙碌中渴望宁静空间。床成为他们放松、逃离现实压力的理想…