【C++】图解类和对象(中)

news2024/11/25 0:34:41

类和对象(中)


文章目录

  • 类和对象(中)
  • 一、类的6个默认成员函数
  • 二、构造函数
    • 1.定义
    • 2.特性
    • 3.对特性的理解及几点注意事项
  • 二、析构函数
  • 总结


一、类的6个默认成员函数

如果一个类中什么成员都没有,简称为空类
空类中真的什么都没有吗?不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。
默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。
在这里插入图片描述


二、构造函数

1.定义

我们在实现栈、队列等数据结构时,调用Init初始化,可能会忘记!导致崩溃出现随机值,
能不能保证对象一定被初始化?-- 构造函数(相当于一个初始化函数)


2.特性

构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,
但是构造函数的主要任务并不是开空间创建对象,而是初始化对象。
在这里插入图片描述


3.对特性的理解及几点注意事项

1.在构造函数时,如果存在缺省函数和半缺省参数的函数,有可能会出现调用歧义,存在二义性!
在这里插入图片描述


2.默认构造函数包括:无参的构造函数+全缺省的构造函数+我们没写编译器默认生成的构造函数
这些默认构造函数的特点:不用传参数就可以调用
在这里插入图片描述


3.关于编译器生成的默认成员函数,很多童鞋会有疑惑:不实现构造函数的情况下,编译器会生成默认的构造函数。但是看起来默认构造函数又没什么用?d对象调用了编译器生成的默认构造函数,但是d对象_year/_month/_day,依旧是随机值。也就说在这里编译器生成的默认构造函数并没有什么用??

在这里插入图片描述


4.默认生成构造函数,a:内置类型成员不做处理;b:自定义类型成员回去调用它的默认构造函数
在这里插入图片描述


5.对第5点的理解
如果类中没有显式定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,一旦
用户显式定义编译器将不再生成。

在这里插入图片描述


在这里插入图片描述


二、析构函数


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

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

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

相关文章

只需6步,就能让你的 React +Tailwind.css站点实现暗黑功能

欢迎回来,开始一次新的编码之旅吧!今天,我们将进入神秘的世界,探索如何在你的React.js网站中使用Tailwind.css实现暗黑模式。Tailwind.css 是你编码工具中的强大助手,结合React.js使用,你可以创造出令人惊叹…

Swoft中使用Consul微服务

目录 Swoft中接入Consul Swoft服务限流 Swoft服务熔断和降级 在之前我写的一篇内容:PHP中接入consul,实现微服务的注册发现和配置中心_浮尘笔记的博客-CSDN博客 中,使用ThinkPHP6.0框架接入了微服务Consul,并且留下了一个彩蛋 …

【K8s】Helm

文章目录 一、Helm介绍1、背景2、介绍3、核心概念4、chart的基本结构5、helm官网 二、部署Helm1、安装helm客户端2、安装Tiller 三、常用指令1、仓库相关 helm repo2、chart相关 四、入门案例1、构建第一个chart2、将chart包发布到Repository3、在 Kubernetes 中部署应用4、升级…

用JS实现虚拟列表(IT枫斗者)

用JS实现虚拟列表 简介 当一个列表需要渲染大量数据的时候是非常耗时的,而且在列表滚动的过程中会出现卡顿的现象。即使用上懒加载解决了列表初始化时渲染过慢的问题,但是每次拉取下一页数据的时候都会造成列表的重新渲染。随着拉取的数据越来越多&…

使用火焰图进行性能分析(一)

为什么会用到火焰图?火焰图能干那些事儿? 分析函数执行的频度;分析哪些函数经常阻塞;分析哪些函数频繁操作内存; 火焰图的主要特点: 每一列代表一个调用栈,每个格子代表一个函数;…

计算机图形学-GAMES101-4

一、变换矩阵中的旋转部分 当我们旋转Q角度和旋转-Q角度时,变换矩阵中旋转的部分如下图所示: 旋转Q和旋转-Q的变换矩阵应该互为逆矩阵,而我们可以看到它们互为对方矩阵的转置。其实Rq是一个正交矩阵,因此其逆矩阵就是它自己的转…

chrome渲染引擎的工作主流程

一见如故 浏览器的渲染:HTML字符串>渲染成最终的像素1、CSS Parser发生在css预解析线程中,不在主线程中;会预览整个HTML文档,下载css相关全部内容,解析生成CSSOM树 2、attachment >以及生成布局树>分层>按…

微服务的使用场景和架构设计方案

目录 【单体架构】 【微服务解决哪些问题】 微服务的拆分原则 微服务使用过程中有哪些坑? 【RPC框架】 常见的网络 IO 模型 RPC 执行过程总结 【CAP原理】 如何使用 CAP 理论 【服务注册和发现】 【配置中心】 【Consul】 Consul介绍 Consul角色 Con…

Go语言的结构体、方法、指针

目录 【定义新数据类型】 【结构体】 定义结构体 结构体变量的声明和初始化 结构体的内存表示 【方法】 receiver 参数 receiver参数的约束 方法的深入理解 goroutine中方法的使用 receiver 参数类型如何选择?T还是*T? 方法集合 【指针】 …

9. 三星索引和Mysql内核查询成本计算实战

MySQL性能调优 1. 高性能的索引创建策略1.1 只为用于搜索、排序或分组的列创建索引1.2 合理设计多列索引1.3 尽可能设计三星索引1.4 主键尽量是很少改变的列1.5 处理冗余和重复索引1.6 删除未使用的索引1.7 InnoDB中的索引 2. 补充资料:磁盘和B树Mysql内核查询成本计…

从0到1无比流畅的React入门教程

无比流畅的React入门教程TOC React 是什么 简介 用于构建 Web 和原生交互界面的库React 用组件创建用户界面通俗来讲:是一个将数据渲染为HTML视图的开源JS库 其他信息 Facebook 开发,并且开源 为什么使用React? 原生JS使用DOM-API修改UI代码很繁…

使用Appium实现录制回放

1、cmd中转到abd所在位置: cd C:\Users\lenovo\AppData\Local\Android\Sdk\platform-tools 2、打开Appium运行 3、打开Appium Inspector (1)获取设备名称 在cmd中输入以下命令: adb devices (2)获取appP…

c++核心知识—多态

目录 一、多态 1、多态的基本概念 2、深入剖析多态原理: 3、纯虚函数和抽象类 4、虚析构和纯虚析构 一、多态 1、多态的基本概念 多态是C面向对象三大特性之一 多态分为两类: 1、静态多态: 函数重载 和 运算符重载 属于静态多态,复用…

前端八股文(二)

1.什么是diff算法? https://www.bilibili.com/video/BV1JR4y1R7Ln/?spm_id_from333.337.search-card.all.click&vd_source0406fa5cf8203ba41f1c8aec5f967e9d 我们修改了文本内容后会生成新的虚拟dom,新旧俩个虚拟dom之间是存在一定差异的,如果能快…

未来的航空电子设备会是什么样子?

具有多功能航空电子设备、大触摸屏显示器、先进通信系统、高性能/低功耗解决方案和人工智能 (AI) 功能的驾驶舱将成为未来军事飞行员日常生活的一部分。 如今,配备模拟驾驶舱的军用飞机已经很少见,因为大多数都已被采用先进嵌入式硬件和软件解决方案的现…

金融学学习笔记第2章

第2章 金融市场和金融机构 一、金融体系 金融体系包括金融市场、中介、服务公司和其它用于执行家庭、企业及政府的金融决策的机构 1.金融市场 金融市场:以金融资产为交易对象而形成的供求关系及其机制的总和 金融市场可分为有特定地理位置的市场和没有特定地点的市…

使用NodeJs创建Web服务器

Web服务器 什么是Web服务器? 当应用程序(客户端)需要某一个资源时,可以向一个台服务器,通过Http请求获取到这个资源;提供资源的这个服务器,就是一个Web服务器; 目前有很多开源的We…

用ChatGPT生成一个Python贪吃蛇游戏(42)

小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 和猫妹学Python,一起趣味学编程。 今日主题 什么是ChatGPT? ChatGPT可以帮我们做什么? 用ChatGPT生成一个Python贪吃蛇游戏。 什么是C…

Rust每日一练(Leetday0002) 中位数、回文子串、Z字形变换

目录 4. 寻找两个正序数组的中位数 Median of two sorted arrays 🌟🌟🌟 5. 最长回文子串 Longest Palindromic Substring 🌟🌟 6. Z字形变换 Zigzag Conversion 🌟🌟 🌟 每日…

C/C++每日一练(20230517) 排序问题、查找小值、寻找峰值

目录 1. 排序问题 🌟 2. 查找小值 🌟 3. 寻找峰值 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 排序问题 输入10个数&#…