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

C++ 124类和对象_运算符重载_赋值

C++ 124类和对象_运算符重载_赋值


学习内容
        解决自定义对象之间赋值是因析构函数重复释放内存时引发的异常问题

结果

代码

#include<iostream>
using namespace std;//cout 在这里,没有它会报错//类和对象_运算符重载_赋值
//学习内容
//解决自定义对象之间赋值是因析构函数重复释放内存时引发的异常问题class Person
{
public:Person(int age){m_Age = new int(age);}int *m_Age;//存内存地址,存指针Person& operator=(Person &p){//应该先判断是否有属性在堆区,如果有先释放干净,然后再深拷贝if (m_Age != NULL){delete m_Age;}//* 解引用//深拷贝 newm_Age = new int(*p.m_Age);return *this;//返回引用}/// <summary>/// 析构函数 主要用于对象销毁时释放内存/// </summary>~Person(){if (m_Age != NULL){delete m_Age;//清空内存}}
};void test01()
{Person p1(18);Person p2(28);Person p3(38);p3 = p2 = p1;cout << "年龄:" << *p1.m_Age << endl;cout << "年龄:" << *p2.m_Age << endl;cout << "年龄:" << *p3.m_Age << endl;
}int main()
{test01();system("pause");
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 前端工程化-05.Vue项目开发流程
  • Jenkins持续集成工具学习
  • LeetCode 242 有效的字母异位词
  • 使用X-AnyLabeling自动标注数据集(以yolov10模型为例,多图详细介绍)
  • 【商城源码开发要多久】
  • 时间记录内核模块
  • 【AI/算法类】OPPO 2025届秋招笔试题(B卷)
  • OpenCV的编译(MinGW)
  • 大模型是如何升级的呢?技术?应用?
  • 微信小程序开发:基础架构与配置文件
  • opencv 控制鼠标键盘实现功能setMouseCallback
  • 江科大/江协科技 STM32学习笔记P24
  • 北京城市图书馆-非遗文献馆:OLED透明拼接屏的璀璨应用
  • 探索Witin-NN Tools量化开源项目:模拟神经网络映射映射到存内芯片的计算过程
  • phpmailer如何配置SSL以发送安全电子邮件?
  • input实现文字超出省略号功能
  • Java知识点总结(JavaIO-打印流)
  • markdown编辑器简评
  • python_bomb----数据类型总结
  • SQLServer之创建显式事务
  • 后端_MYSQL
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 使用 QuickBI 搭建酷炫可视化分析
  • 使用parted解决大于2T的磁盘分区
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 我是如何设计 Upload 上传组件的
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 说说我为什么看好Spring Cloud Alibaba
  • ​Linux·i2c驱动架构​
  • ​决定德拉瓦州地区版图的关键历史事件
  • #162 (Div. 2)
  • (1)bark-ml
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (4) PIVOT 和 UPIVOT 的使用
  • (5)STL算法之复制
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NET简谈设计模式之(单件模式)
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • @AutoConfigurationPackage的使用
  • [AHK V2]鼠标悬停展开窗口,鼠标离开折叠窗口
  • [AIR] NativeExtension在IOS下的开发实例 --- IOS项目的创建 (一)
  • [Android]创建TabBar
  • [AR]Vumark(下一代条形码)
  • [AutoSar]BSW_Com02 PDU详解
  • [BetterExplained]书写是为了更好的思考(转载)
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [C++]: std::move
  • [C++][opencv]基于opencv实现photoshop算法可选颜色调整
  • [C++]18:set和map的使用
  • [ComfyUI]Flux+MiniCPM-V强强联手艺术创意,媲美GPT4V级国产多模态视觉大模型
  • [DL]深度学习_Feature Pyramid Network