当前位置: 首页 > news >正文

2023/12/30 c++ work

  1. 定义一个Person类,私有成员int age,string &name,定义一个Stu类,包含私有成员double *score,写出两个类的构造函数、析构函数、拷贝构造和拷贝赋值函数,完成对Person的运算符重载(算术运算符、条件运算符、逻辑运算符、自增自减运算符、插入/提取运算符)

#include <iostream>using namespace std;// 2.定义一个Person类,私有成员int age,string &name,定义一个Stu类,包含私有成员double *score,
// 写出两个类的构造函数、析构函数、拷贝构造和拷贝赋值函数,完成对Person的运算符重载(算术运算符、
// 条件运算符、逻辑运算符、自增自减运算符、插入/提取运算符)class Person{int age;string &name;
public:Person(string &name):age(0),name(name){}Person(int age,string &name):age(age),name(name){}//拷贝构造函数Person(const Person &other):age(other.age),name(other.name){cout << "person 拷贝构造函数" << endl;}//拷贝赋值函数Person &operator=(const Person &other){this->age = other.age;this->name = other.name;cout << "person 拷贝赋值函数" << endl;return *this;}//算术运算符friend Person operator+(Person &c1,Person &c2);//条件运算符friend bool operator==(Person &c1,Person &c2);//逻辑运算符friend bool operator&&(Person &c1,Person &c2);//自增自减运算符(后自加)Person operator++(int);//插入/提取运算符friend ostream &operator<<(ostream &out,Person &c1);void show();
};void Person::show(){cout << "person age = " << age << endl;cout << "person name = " << name << endl;
}ostream &operator<<(ostream &out,Person &c1){out << "age = " << c1.age << " name = " << c1.name;return out;
}Person Person::operator++(int){string str ="";Person temp(str);temp.age = this->age++;return temp;
}Person operator+(Person &c1,Person &c2){string str ="";Person temp(str);temp.age = c1.age + c2.age;return temp;
}bool operator==(Person &c1,Person &c2){return c1.age == c2.age;
}class Stu{double *score;
public://构造函数Stu(double score):score(new double(score)){}//析构函数~Stu(){delete score;}//拷贝构造函数Stu(const Stu &other):score(other.score){cout << "stu 拷贝构造函数" << endl;}//拷贝赋值函数Stu &operator=(const Stu &other){*(this->score) = *(other.score);cout << "stu 拷贝构造函数" << endl;return *this;}
};int main()
{string name ="张三";Person per(20,name);//调用构造函数Person per2 = per;per2.show();cout <<"-----------------------------------------------------" << endl;string name1 ="ww";Person per3(name1);//调用构造函数per3 = per2;per3.show();cout <<"-----------------------------------------------------" << endl;Person per4 = per2+per3;per4.show();bool res = per2 == per3;cout << "per2 == per3 结果 = " << res << endl;cout <<"-----------------------------------------------------" << endl;cout << per << endl;return 0;
}

2. 思维导图

相关文章:

2023/12/30 c++ work

定义一个Person类&#xff0c;私有成员int age&#xff0c;string &name&#xff0c;定义一个Stu类&#xff0c;包含私有成员double *score&#xff0c;写出两个类的构造函数、析构函数、拷贝构造和拷贝赋值函数&#xff0c;完成对Person的运算符重载(算术运算符、条件运算…...

ctfshow——文件上传

文章目录 文件上传思路web 151web 152web 153知识点解题 web 154web 155web 156web 157web 158web 159web160web 161 文件上传思路 web 151 打开页面显示&#xff1a;前台校验不可靠。说明这题是前端验证。 右键查看源代码&#xff0c;找到与上传点有关的前端代码&#xff1a…...

【RocketMQ每日一问】RocketMQ SQL92过滤用法以及原理?

1.生产端 public class SQLProducer {public static int count 10;public static String topic "xiao-zou-topic";public static void main(String[] args) {DefaultMQProducer producer MQUtils.createLocalProducer();IntStream.range(0, count).forEach(i -&g…...

Go语言中的包管理工具之Go Path的使用

GoLang 中常用的包管理的方式 1 &#xff09;概述 常用的有三种 Go PathGo VendorGo Modules 2 &#xff09;发展历程 早期go的包管理存在很大缺陷&#xff0c;甚至可以说没有官方统一的包管理工具 一方面官方在努力发布一些实验性的包管理工具。同时也出现了很多社区开发…...

cocos creator(2.4.7版本) webview 可以在上层添加UI控件

实现原理&#xff1a;cocos本身在平台中属于view,所以可以把webview放在底层&#xff0c;以达到目标。 实现过程&#xff1a;参考 cocos creator&#xff08;2.4.7版本&#xff09; videoplayer 可以在上层添加UI控件&#xff08;&#xff09; 需要增加以下过程&#xff1a; …...

2023 年四川省职业院校技能大赛“信息安全管理与评估”样题

2023 年四川省职业院校技能大赛&#xff08;高等职业教育&#xff09; “信息安全管理与评估”样题 竞赛需要完成三个阶段的任务&#xff0c;分别完成三个模块&#xff0c;总分共计 1000分。三个模块内容和分值分别是&#xff1a; 第一阶段&#xff1a;模块一 网络平台搭建与设…...

ubuntu2204,mysql8.x安装

ubuntu 2204, MySQL8.x安装 sudo apt-get update sudo apt-get upgrade# 习惯性的先设置一下时区,这里我使用东八区 date -R # 若发现时间正常则无需设置tzselect# 依次选择 4 -> 10 -> 1 -> 1cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimedate -R# 同步时间…...

CG Magic分享云渲染和本地渲染之间的区别有什么?

无论是效果图渲染还是影视渲染&#xff0c;对于3D设计师来说都是常见的渲染方式就是云渲染和本地渲染。 本地电脑渲染是指将渲染任务分配给本地计算机进行处理&#xff0c;而云渲染是指将渲染任务上传至云端服务器进行处理。 对于一些初入行业的新手朋友来说&#xff0c;会在想…...

【算法与数据结构】763、LeetCode划分字母区间

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;本题要求为&#xff1a; 1.尽可能多的划分片段2.字母只能出现在一个片段中3.片段连接起来仍然是s&…...

新火种AI|人形机器人敲响上市罗,首日市值高达390亿港元

作者&#xff1a;一号 编辑&#xff1a;彩云 ​ 史上第一次&#xff01;人形机器人在港交所和人类一起敲锣。 12月29日&#xff0c;在港交所现场&#xff0c;熊猫机器人优悠走上舞台&#xff0c;将手中的锣锤递给了优必选创始人、董事长兼CEO周剑&#xff0c;而同周剑一同准…...

SpringMVC框架

SpringMVC 三层架构MVC模式SpringMVC入门案例总结 三层架构 表现层&#xff08;web&#xff09; 页面数据的收集&#xff0c;产出页面 业务逻辑层&#xff08;service&#xff09; 业务处理 数据访问层&#xff08;Dao&#xff09; 数据持久化 MVC模式 SpringMVC 基于Java…...

FreeRTOS——计数型信号量知识总结及实战

1计数型信号量概念 1&#xff09;计数型信号量相当于队列长度大于1 的队列&#xff0c;因此计数型信号量能够容纳多个资源 2&#xff09;适用场景&#xff1a; 事件计数&#xff1a; 当每次事件发生后&#xff0c;在事件处理函数中释放计数型信号量&#xff08;计数值1&#x…...

Linux下Docker Engine安装后的一些配置步骤

一些安装后的配置令Linux主机可以更好地与Docker配合使用。 0x01 以非root用户身份管理Docker Docker守护进程绑定到Unix套接字&#xff0c;而不是TCP端口。默认情况下,root用户拥有Unix套接字&#xff0c;而其他用户只能使用 sudo. Docker守护进程始终以root用户身份运行。 …...

【并发设计模式】聊聊Balking是如何实现以及具体原理

前面的等待唤醒&#xff0c;其实是一个线程等待执行满足条件的逻辑&#xff0c;会一直死等&#xff0c;但是并不是全部的场景都需要死等。比如我们去坐车的时候&#xff0c;公交一直没来&#xff0c;那么就可以不去了。而等待唤醒是公交没来我就等他来了再去。 Guarded Suspen…...

dubbo的一些问题思考

1.dubbo是啥 Dubbo 是一个高性能的 Java RPC&#xff08;远程过程调用&#xff09;框架&#xff0c;用于构建分布式服务架构。由阿里巴巴开发并开源&#xff0c;作为一个分布式服务框架&#xff0c;Dubbo 提供了丰富的功能&#xff0c;包括服务治理、远程调用、负载均衡、容错机…...

盛最多水的容器(力扣11题)

例题&#xff1a; 分析&#xff1a; 这道题给出了一个数组&#xff0c;数组里的元素可以看成每一个挡板&#xff0c;要找到哪两个挡板之间盛的水最多&#xff0c;返回盛水量的最大值。这其实是一个双指针问题。 我们可以先固定第一个挡板( i )和最后一个挡板( j )&#xff0c…...

.babky勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

导言&#xff1a; 网络安全威胁不断进化&#xff0c;其中.babky勒索病毒引起了广泛关注。这篇文章91数据恢复将深入介绍.babky的狡猾特征&#xff0c;以及在遭受其袭击时如何高效地恢复被加密的数据&#xff0c;并提供实用的预防方法。当面对被勒索病毒攻击导致的数据文件加密…...

20240103-通过布局让自己的生活有有意义人生有价值

最近听到看到的一些词 心力、稀缺、卓有成效、知行合一、致良知、心即理、事上练 最近琢磨出这么一个道理&#xff0c;就是任何人做事情其实都有内心趋势和一套适合他自己的内心驱动的方法。我们经常意识不到&#xff0c;我时常也会去寻求做一件事&#xff0c;是不是有特定的…...

JDK17 - 开发者视角,从 JDK8 ~ JDK17 都增加了哪些新特性

目录 前言 一、站在开发视角&#xff0c;从 JDK8 升级到 JDK17 都有哪些新特性 1.1、JDK8 新特性 1.1.1、Optional 类 a&#xff09;简介 b&#xff09;使用方法 c&#xff09;使用场景 1.2、JDK9 新特性 1.2.1、Optional - ifPresentOrElse 解决 if-else 1.2.2、Opt…...

八股文打卡day11——计算机网络(11)

面试题&#xff1a;HTTP多个TCP连接怎么实现&#xff1f; 我的回答&#xff1a; 1.HTTP1.0的时候&#xff0c;一个TCP连接只能进行一次请求响应。可以建立多个连接到服务器&#xff0c;这样就可以同时进行多个请求响应&#xff0c;提高传输效率。 2.HTTP1.1推出了持久连接&am…...

轻量级负载均衡器Codex-lb:云原生场景下的部署与调优实践

1. 项目概述&#xff1a;一个轻量级的负载均衡解决方案 最近在折腾一些个人项目和小型服务部署时&#xff0c;我遇到了一个挺实际的问题&#xff1a;如何在不引入复杂架构和运维负担的前提下&#xff0c;为多个后端服务实例提供一个统一的、可靠的入口。你可能也遇到过类似场景…...

作为一个网聊经常冷场的人,我试了试几款聊天回复神器

平时在线下跟人沟通还好&#xff0c;但一到微信或者Soul这种线上聊天环境&#xff0c;我就特别容易卡壳。尤其是遇到对方发来一些带有情绪的话&#xff0c;我经常不知道怎么接&#xff0c;打了一堆字又默默删掉&#xff0c;最后回个“哈哈”或者“早点休息”&#xff0c;硬生生…...

Coze平台智能物资匹配系统——完整设计与实现指南

Coze平台智能物资匹配系统——完整设计与实现指南 文档概述 本文档提供一套完整的技术解决方案,用于在Coze(扣子)平台上搭建智能物资匹配系统。该系统以“残值+运费最小化”为核心优化目标,支持用户输入地点和物资需求或上传表格文件,自动匹配最佳物资并输出等多组备选方…...

氢燃料电池混合动力能量管理与动力控制【附仿真】

✨ 长期致力于氢燃料电池、能量管理、等效氢耗、变换器、协同控制、永磁同步电机、滑模自抗扰研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;等效氢耗…...

半导体制造中的光学邻近校正(OPC)优化技术与实践

1. 光学邻近校正&#xff08;OPC&#xff09;在半导体制造中的关键作用在32nm以下节点的半导体制造中&#xff0c;光学邻近效应已成为制约光刻精度的首要瓶颈。当特征尺寸远小于曝光波长时&#xff08;例如193nm光刻下的22nm节点&#xff09;&#xff0c;光线衍射会导致图案边缘…...

AI写专著的技巧与工具:一键生成20万字专著,开启写作新体验!

学术著作的严谨性离不开丰富的资料和数据支撑&#xff0c;但资料的搜集和数据的整合恰恰是撰写过程中最繁琐且耗时的环节。进行研究的学者需要全面搜索国内外的最新文献&#xff0c;确保所选文献既权威又相关&#xff0c;并追溯到原始来源&#xff0c;避免出现二次引用的错误&a…...

手机号逆向查询QQ号:3分钟快速掌握Python查询技巧

手机号逆向查询QQ号&#xff1a;3分钟快速掌握Python查询技巧 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾需要快速验证手机号对应的QQ账号&#xff1f;手机号查QQ号工具是一个简单高效的Python开源项目&#xff0c;让你…...

Kinovea运动视频分析:免费开源的专业动作量化工具终极指南

Kinovea运动视频分析&#xff1a;免费开源的专业动作量化工具终极指南 【免费下载链接】Kinovea Video solution for sport analysis. Capture, inspect, compare, annotate and measure technical performances. 项目地址: https://gitcode.com/gh_mirrors/ki/Kinovea …...

蓝桥杯嵌入式备赛:手把手教你用STM32G4的ADC读取光敏电阻(国信长天扩展板)

蓝桥杯嵌入式竞赛实战&#xff1a;STM32G4光敏电阻精准采集与优化策略 在蓝桥杯嵌入式竞赛中&#xff0c;环境光检测是高频考点之一。国信长天扩展板上的光敏电阻模块看似简单&#xff0c;但要在竞赛中稳定发挥&#xff0c;需要深入理解硬件电路设计原理、掌握ADC采集的优化技巧…...

玩转OurBMC第二十六期:OpenBMC固件远程更新原理与实践(下)

栏目介绍&#xff1a;“玩转OurBMC” 是OurBMC社区开创的知识分享类栏目&#xff0c;主要聚焦于社区和BMC全栈技术相关基础知识的分享&#xff0c;全方位涵盖了从理论原理到实践操作的知识传递。OurBMC社区将通过 “玩转OurBMC” 栏目&#xff0c;帮助开发者们深入了解到社区文…...