【c++】构造函数(上)

Hello everybody!今天我们来聊一聊构造函数的用法和一些基本性质。内容比较多,我打算分两篇文章讲完!

希望大家在看完我的文章后能够有所收获!

1.构造函数的定义

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

1.1构造函数的性质:

1.函数名与类名相同。

2.无返回值。(函数的返回值不写void,而是啥都不写)

3.对象实例化时,编译器自动调用对应的构造函数。

4.构造函数可以重载。

这是一个简单的程序,其中的Date函数就是构造函数,在对象实例化时会自动调用并输出结果。当然也可以写两个构造函数,它们之间构成重载也完全没有问题。

2.默认构造函数

无参的构造函数和全缺省构造函数都称为默认构造函数,并且默认构造函数只能有一个。注意:无参的构造函数,全缺省构造函数,我们没写编译器默认生成的构造函数,都可以认为是默认构造函数。

总的来说就是:不传参调用的构造函数都可以叫做默认构造函数。

3.构造函数的特性

c++11前,c++语法规定:

1.对象实例化时必须调用构造函数,如果没有构造函数可调则会报错。

2.构造函数是默认成员函数,如果我们不写,编译器会默认生成一个并在对象实例化时自动调用。

3.默认生成的构造函数对于内置类型不做处理,对于自定义类型回去调用它的默认构造函数。

c++11补充:允许自定义类型在声明的地方给缺省值。

如上图,没有可调用的构造函数,会报错。

如上图:对象实例化d1后,默认生成的构造函数对自定义类型没有处理,对a1来说回去调用它的默认构造函数。

给了缺省值后,默认构造函数就会对自定义类型做处理。

4.结语

构造函数很复杂,我就先介绍这么多,后续我会将剩下的知识讲完。也请大家持续关注的更新的文章呦!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Editable Scene Simulation for Autonomous Driving via Collaborative LLM-Agents

ChatSim:首个通过大语言模型实现可编辑逼真3D驾驶场景的仿真 论文链接:https://arxiv.org/pdf/2402.05746.pdf 代码链接:https://github.com/yifanlu0227/ChatSim 1. 摘要(Abstract) 自动驾驶中的场景仿真因其生成定制…

【前端高频面试题--git篇】

🚀 作者 :“码上有前” 🚀 文章简介 :前端高频面试题 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 前端高频面试题--git篇 常用命令git add 和 git stage 有什么区别怎么使用git连接到远程仓库git…

.target勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

导言: 网络安全威胁如勒索病毒已经成为企业和个人数据安全的重大挑战之一。.target勒索病毒作为其中的一种,以其高度复杂的加密算法和迅速变化的攻击手法备受关注。本文将深入介绍.target勒索病毒的特点,探讨如何有效地恢复被加密的数据文件…

【复现】某某ERP 信息泄露漏洞_49

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 该ERP基于SpringBoot框架和SaaS模式,立志为中小企业提供开源好用的ERP软件,目前专注进销存财务生产功能。…

模拟电子技术——基本放大电路

文章目录 前言一、三极管输入输出特性三极管放大作用三极管电流放大关系三极管的特性曲线 二、基本放大电路-电路结构与工作原理基本放大电路的构成基本放大电路放大原理三种基本放大电路比较 三、基本放大电路静态工作点什么是静态工作点?静态工作点的作用估算法分…

耳机壳UV树脂制作私模定制耳塞需要什么样的设备和技术?

制作私模定制耳塞需要使用到一些特定的设备和技术,包括但不限于以下内容: 耳模制作工具:用于获取用户耳型的耳模制作工具,如硅胶、橡皮泥等。需要使用熟练的手法和技术,确保耳模的准确性和稳定性。UV树脂:…

ARP请求的构造过程

ARP请求的构造过程: ARP请求的构造: 当设备A(发起者)想要与设备B(目标)通信,但它只知道设备B的IP地址(例如,192.168.1.2),而不知道其MAC地址。设备…

Python数据科学:Scikit-Learn机器学习

4.1Scikit-Learn机器学习 Scikit-Learn使用的数据表示:二维网格数据表 实例1:通过Seaborn导入数据 def skLearn():scikit Learn基本介绍:return:import seaborn as sns#导入Iris数据集#注:一般网络访问不了iris sns.load_dataset(iris)ir…

Linux中alarm/setitimer函数(信号函数)

alarm函数 函数原型: unsigned int alarm(unsigned int seconds); 函数描述:设置定时器(闹钟)。在指定seconds后,内核会给当前进程发送 14)SIGALRM信号。进程收到该信号,默认动作终止。每个进程…

MySQL 基础知识(四)之表操作

目录 1 约束 2 查看已有表 3 创建表 4 查看表结构 5 修改表 6 删除表 1 约束 主键约束 primary key:唯一,标识表中的一行数据,此列的值不可重复,且不能为 NULL,此外,可以多个列组成主键唯一约束 uniq…

GitHub项目推荐-InstantID

项目地址 https://github.com/InstantID/InstantID 项目简述 InstantID是一个图生图项目,仅仅通过一张正脸的图片,就能生成各种风格的人像。该项目的文档描述比较齐备,所以复现起来成本比较小。 项目截图 这是项目介绍中的一张截图&…

2023全球云计算市场份额排名

关注卢松松,会经常给你分享一些我的经验和观点。 最近Synergy研究院发布了最新的全球云计算市场份额排名。 亚马逊依旧是以31%的的市场份额排名第一,微软azure24%排名第二,Google云11%排名第三,阿里云4%排名第四。腾讯云和IBM、…

Python爬虫之Ajax分析方法与结果提取

爬虫专栏:http://t.csdnimg.cn/WfCSx Ajax 分析方法 这里还以前面的微博为例,我们知道拖动刷新的内容由 Ajax 加载,而且页面的 URL 没有变化,那么应该到哪里去查看这些 Ajax 请求呢? 1. 查看请求 这里还需要借助浏…

matplotlib画简单的论文图像

由于最近论文里需要插入绘图,因此写一篇博客记录一下 折曲线图 基本绘图 在matplotlib中折线和曲线图是最常用和最简单的图。只需要直接使用方法plot即可。 import matplotlib.pyplot as plt plt.plot(x,y) plt.show()其中上述的代码中x,y分别是横坐…

【AI视野·今日CV 计算机视觉论文速览 第293期】Fri, 19 Jan 2024

AI视野今日CS.CV 计算机视觉论文速览 Fri, 19 Jan 2024 Totally 103 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers ParaHome: Parameterizing Everyday Home Activities Towards 3D Generative Modeling of Human-Object Interactions Aut…

矩阵特征值分解(EVD)

关于求解特征值和特征向量参考《特征值和特征向量-CSDN博客》

vscode 代码调试from IPython import embed

一、讲解 这种代码调试方法非常的好用。 from IPython import embed上面的代码片段是用于Python中嵌入一个交互式IPython shell的方法。这可以在任何Python脚本或程序中实现,允许在执行到该点时暂停程序,并提供一个交互式环境,以便于检查、…

HIS系统架构设计与实现的经验总结

随着信息技术的快速发展,医疗行业也在不断迎来新的变革。医院信息化系统(HIS)作为医疗信息化的重要组成部分,扮演着连接医院各个部门、优化医疗流程、提升服务质量的关键角色。在设计与实现HIS系统架构时,需要考虑到系…

【运维测试】移动测试自动化知识总结第1篇:移动端测试介绍(md文档已分享)

本系列文章md笔记(已分享)主要讨论移动测试相关知识。主要知识点包括:移动测试分类及android环境搭建,adb常用命令,appium环境搭建及使用,pytest框架学习,PO模式,数据驱动&#xff0…

计算机组成原理 2 数据表示

机器数 研究机器内的数据表示,目的在于组织数据,方便计算机硬件直接使用。 需要考虑: 支持的数据类型; 能表示的数据精度; 是否有利于软件的移植 能表示的数据范围; 存储和处理的代价; ... 真值…