C++类和对象-对象特性(3)

一.深拷贝与浅拷贝

浅拷贝:简单的赋值拷贝操作
如果利用编译器提供的拷贝构造函数,会做浅拷贝操作
深拷贝:在堆区重新申请空间,进行拷贝操作

问题:如果浅拷贝带来的问题就是堆区的内存重复释放
image
解决:浅拷贝的问题要利用深拷贝来解决
image

析构函数作用:将堆区开辟的数据做释放操作
image

二.初始化列表

作用:C++提供了初始化列表语法,用来初始化属性
image
image

三.类对象作为类成员

C++类中的成员可以是另一个类的对象,我们称该成员为对象成员
例:
image
B类中有对象A作为成员,A为对象成员
注:当其他类对象作为本类成员,构造时候先构造类对象,再构造自身,析构的顺序与其相反

四.静态成员

静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员

静态成员分为:

静态成员变量(也有访问权限):

  • 所有对象共享同一份数据
  • 在编译阶段分配内存
  • 类内声明,类外初始化

静态成员变量不属于某个对象上,所有对象共享一份数据
因此静态成员变量有两种访问方式

1.通过对象进行访问
image
2.通过类名的作用域下访问
image

静态成员函数(也有访问权限):

  • 所有对象共享一个函数
  • 静态成员函数只能访问静态成员变量(无法区分到底是哪个对象的属性)
    image

访问方式
1.通过对象访问
2.通过类名作用域下访问

posted @   Eric`  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示