作业--day39

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

#include <iostream>using namespace std;class Person{int age;string &name;
public:Person(string &name):age(15),name(name){}Person(int age, string &name):age(age),name(name){}~Person(){cout << "Person的析构函数" << endl;}Person(const Person &other):age(other.age),name(other.name){}Person &operator=(const Person &other){age = other.age;name = other.name;return *this;}Person operator+(const Person other){string tempname = name + other.name;int tempage = age + other.age;return Person(tempage, tempname);}bool operator==(const Person other){return age==other.age && name==other.name;}bool operator>=(const Person other){return age>=other.age && name>=other.name;}Person operator++(){age++;return *this;}Person operator++(int){return Person(age++, name);}Person operator--(){age--;return *this;}Person operator--(int){return Person(age--, name);}friend istream &operator>>(istream &cin, Person &p);friend ostream &operator<<(ostream &cout, Person &p);
};istream &operator>>(istream &cin, Person &p){cin >> p.age >> p.name;return cin;
}ostream &operator<<(ostream &cout, Person &p){cout << "age=" << p.age << ", name=" << p.name;return cout;
}class Stu{double * const score;
public:Stu():score(new double(12.0)){}Stu(double score):score(new double(score)){}~Stu(){delete score;cout << "Stu的析构函数" << endl;}Stu(Stu &other):score(new double(*(other.score))){}Stu &operator=(Stu &other){*score = *other.score;return *this;}void show(){cout << *score << endl;}
};int main()
{string name1 = "a";Person p1(name1);cin >> p1;Person p2 = p1;cout << p2 << endl;p2++;cout << p2 << endl;string name2 = "b";Person p3(name2);cout << p3 << endl;p3 = p2 + p1;cout << boolalpha << (p2 == p1) << endl;cout << (p2 >= p1) << endl;cout << p3 << endl;cout << "-----------" << endl;Stu s1;s1.show();Stu s2(16.5);s2.show();Stu s3 = s2;s3.show();s2 = s1;s2.show();return 0;
}

在这里插入图片描述

思维导图

在这里插入图片描述

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

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

相关文章

PyTorch 节省显存技巧:Activation Checkpointing

参考资料 官方文档&#xff1a; https://pytorch.org/docs/2.0/checkpoint.html官方博客&#xff1a;https://medium.com/pytorch/how-activation-checkpointing-enables-scaling-up-training-deep-learning-models-7a93ae01ff2d Activation Checkpointing 介绍 激活检查点 …

【致远OA】按人员编码获取所有待办事项

接口说明 按人员编码获取所有待办事项 兼容版本 since V7.0 请求方式 http请求方式&#xff1a;GET http://ip:port/seeyon/rest/affairs/pending/code/{memberCode} 如 http://127.0.0.1/seeyon/rest/affairs/pending/code/9981 效果参考 响应结果 参考对象实例&#x…

事件循环的理解

1.单线程 Js是一个单线程的语言,代码只能一行一行去执行,遇到同步的代码就直接执行了,如果遇到异步的代码怎么办&#xff1f; 不可能等到异步的代码执行完&#xff0c;在去执行后面同步的代码。 2.主线程 遇到同步的代码,就在主线程里面直接执行了。 3.任务队列 遇到异步的…

ROS TF坐标变换 - 静态坐标变换

目录 一、静态坐标变换&#xff08;C实现&#xff09;二、静态坐标变换&#xff08;Python实现&#xff09; 如前文所属&#xff0c;ROS通过广播的形式告知各模块的位姿关系&#xff0c;接下来详述这一机制的代码实现。 模块间的位置关系有两种类型&#xff0c;一种是相对固定…

Django开发3

Django开发3 Django开发编辑用户9.靓号管理9.1 表结构9.2 靓号列表9.3 新建靓号9.4 编辑靓号9.5 搜索手机号9.6 分页 10.时间插件11.ModelForm和BootStrap操作 各位小伙伴想要博客相关资料的话关注公众号&#xff1a;chuanyeTry即可领取相关资料&#xff01; Django开发 部门管…

RK3588取经之路【序章】2024/01/01

文章目录 RK3588取经之路【序章】关于本文的规划 开篇开发板整体图外设介绍 结束 RK3588取经之路【序章】 2023年前入手买了这个广州英码出场的一款开发板EVM3588-A24EG-C-B2AA&#xff08;裸板&#xff09;&#xff0c;花了2800左右&#xff0c;是不是脑子有点毛病&#xff0…

超详细YOLOv8目标检测全程概述:环境、训练、验证与预测详解

目录 yolov8导航 YOLOv8&#xff08;附带各种任务详细说明链接&#xff09; 搭建环境说明 不同版本模型性能对比 不同版本对比 模型参数解释 不同版本说明 训练 训练示意代码 训练用数据集与 .yaml 配置方法 .yaml配置 数据说明 数据集路径 训练参数说明 训练过程…

linux下docker搭建Prometheus +SNMP Exporter +Grafana进行核心路由器交换机监控

一、安装 Docker 和 Docker Compose https://docs.docker.com/get-docker/ # 安装 Docker sudo apt-get update sudo apt-get install -y docker.io# 安装 Docker Compose sudo apt-get install -y docker-compose二、创建配置文件及测试平台是否正常 1、选个文件夹作为自建…

Airtest的iOS实用接口介绍

前段时间Airtest更新了1.3.0.1版本&#xff0c;里面涉及非常多的iOS功能新增和改动&#xff0c;今天想详细跟大家聊一下里面的iOS设备接口。 PS&#xff1a;本文示例均使用本地连接的iOS设备&#xff0c;Airtest版本为1.3.0.1 。 安装接口&#xff1a;install、install_app …

2.1 DFMEA步骤一:策划和准备

2.1.1 目的 设计FMEA的“策划和准备”步骤旨在确定将要执行的FMEA类型,以及根据进行中的分析类型(如系统、子系统或组件)明确每个FMEA的范围。设计FMEA(DFMEA)的主要目标包括: 项目识别项目计划:涵盖目的、时间安排、团队、任务和工具(5T)分析边界:界定分析的范围,…

GPT4-AIl本地部署-chat AI本地使用

文章目录 GPT4-AIl本地部署GPT4客户端下载地址&#xff1a;对应的下载下载后的文件点击安装&#xff0c;改一下文件存放路径&#xff0c;下面都是默认下一步进度条100%后&#xff0c;点击完成 安装完桌面生成图标&#xff0c;点击选择都是NO&#xff0c;不进行数据上传点击后&a…

大数据 - 大数据入门第一篇 | 关于大数据你了解多少?

&#x1f436;1.1 概述 大数据&#xff08;BigData):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合&#xff0c;是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 大数据主要解决、海量数据的采…

【C++】命名空间、输入输出、缺省参数和函数重载详解

文章目录 前言命名空间命名空间的定义命名空间的使用 C输入输出缺省参数缺省参数定义缺省参数分类 函数重载函数重载的概念函数名修饰规则extern "C"的使用 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; C 是一门强大而灵活的编程语言…

Embedding模型在大语言模型中的重要性

引言 随着大型语言模型的发展&#xff0c;以ChatGPT为首&#xff0c;涌现了诸如ChatPDF、BingGPT、NotionAI等多种多样的应用。公众大量地将目光聚焦于生成模型的进展之快&#xff0c;却少有关注支撑许多大型语言模型应用落地的必不可少的Embedding模型。本文将主要介绍为什么…

C ++类

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

【ROS2】MOMO的鱼香ROS2(四)ROS2入门篇——ROS2节点通信之话题与服务

ROS2节点通信之话题与服务点 引言1 理解从通信开始1.1 TCP&#xff08;传输控制协议&#xff09;1.2 UDP&#xff08;用户数据报协议&#xff09;1.3 基于共享内存的IPC方式 2 ROS2话题2.1 ROS2话题指令2.2 话题之RCLPY实现2.2.1 编写发布者2.2 2 编写订阅者2.2.3 运行测试 3 R…

OSG读取和添加节点学习

之前加载了一个模型&#xff0c;代码是&#xff0c; osg::Group* root new osg::Group(); osg::Node* node new osg::Node(); node osgDB::readNodeFile("tree.osg"); root->addChild(node); root是指向osg::Group的指针&#xff1b; node是 osg:…

字节高级Java面试真题

今年IT寒冬&#xff0c;大厂都裁员或者准备裁员&#xff0c;作为开猿节流主要目标之一&#xff0c;我们更应该时刻保持竞争力。为了抱团取暖&#xff0c;林老师开通了《知识星球》&#xff0c;并邀请我阿里、快手、腾讯等的朋友加入&#xff0c;分享八股文、项目经验、管理经验…

appium入门基础

介绍 appium支持在不同平台的UI自动化&#xff0c;如web,移动端,桌面端等。还支持使用java&#xff0c;python&#xff0c;js等语言编写自动化代码。主要用于自动化测试脚本&#xff0c;省去重复的手动操作。 Appium官网 安装 首先必须环境有Node.js用于安装Appium。 总体来…

设计模式—行为型模式之模板方法模式

设计模式—行为型模式之模板方法模式 在模板模式&#xff08;Template Pattern&#xff09;中&#xff0c;一个抽象类公开定义了执行它的方法的方式模板。它的子类可以按需要重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。 模板方法&#xff08;Template Metho…