C++类和对象-对象特性(3)
1.C++内存四区2.算法-排序-快速排序3.算法-排序-归并排序4.c++重载5.算法-二分6.算法—前缀和7.算法—差分8.算法-双指针9.c++引用10.c++函数默认参数及占位参数11.c++函数模板12.c++类和对象-封装13.struct和class的区别14.成员属性设置为私有15.C++类和对象-对象特性(1)16.C++类和对象-对象特性(2)17.N皇后18.动态规划dp-01背包问题19.C++类和对象-对象特性(4)
20.C++类和对象-对象特性(3)
21.C++友元22.C++运算符重载23.C++继承24.C++多态25.C++类模板26.C++vector容器27.C++string容器28.C++deque容器29.算法-树状数组30.算法线段树31.算法-bfs32.算法-贪心33.算法-Flood Fill34.数据结构-链表35.数据结构-栈36.数据结构-队列37.P2678 跳石头38.5132139.54440.3213241.牛客寒假算法集训1-总结42.牛客寒假算法集训2-总结43.牛客寒假算法集训3-总结44.数论-质数45.博弈论46.第十四届蓝桥杯省赛C++题解47.Trie树48.并查集49.数据结构-堆50.哈希表51.拓扑排序52.Dijkstra53.spfa54.数论-约数55.数论-欧拉函数56.图的存储和遍历57.牛客寒假算法集训4-总结58.牛客寒假算法集训5-总结59.牛客寒假算法集训6-总结60.Bellman_ford61.Floyd62.编辑距离63.数位dp一.深拷贝与浅拷贝
浅拷贝:简单的赋值拷贝操作
如果利用编译器提供的拷贝构造函数,会做浅拷贝操作
深拷贝:在堆区重新申请空间,进行拷贝操作
问题:如果浅拷贝带来的问题就是堆区的内存重复释放
解决:浅拷贝的问题要利用深拷贝来解决
析构函数作用:将堆区开辟的数据做释放操作
二.初始化列表
作用:C++提供了初始化列表语法,用来初始化属性
三.类对象作为类成员
C++类中的成员可以是另一个类的对象,我们称该成员为对象成员
例:
B类中有对象A作为成员,A为对象成员
注:当其他类对象作为本类成员,构造时候先构造类对象,再构造自身,析构的顺序与其相反
四.静态成员
静态成员就是在成员变量和成员函数前加上关键字static
,称为静态成员
静态成员分为:
静态成员变量(也有访问权限):
- 所有对象共享同一份数据
- 在编译阶段分配内存
- 类内声明,类外初始化
静态成员变量不属于某个对象上,所有对象共享一份数据
因此静态成员变量有两种访问方式
1.通过对象进行访问
2.通过类名的作用域下访问
静态成员函数(也有访问权限):
- 所有对象共享一个函数
- 静态成员函数只能访问静态成员变量(无法区分到底是哪个对象的属性)
访问方式:
1.通过对象访问
2.通过类名作用域下访问
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析