C++ 学习之 构造函数 和 析构函数

前言

总的来说,构造函数负责对象的初始化,而析构函数负责对象的清理和资源释放。它们是C++面向对象编程中非常重要的概念,用于管理对象的生命周期,确保对象在创建和销毁时都能够正确地进行初始化和清理。

正文

在这里插入图片描述

看代码

class person
{
public:person(){cout << " 这是一个构造函数 " << endl;}~person(){cout << " 这是一个析构函数 " << endl;}
};int main()
{person mike;system("pause"); return 0;
}

这段C++代码定义了一个名为person的类,并在main函数中创建了一个person类的对象mike。让我们逐步分析这个代码以了解构造函数和析构函数的作用:

class person
{
public:person(){cout << " 这是一个构造函数 " << endl;}~person(){cout << " 这是一个析构函数 " << endl;}
};

这里定义了一个名为person的类。在这个类中有两个特殊的成员函数:构造函数和析构函数。

构造函数:构造函数的名称与类名称相同,并且没有返回类型(包括void)。在这个构造函数中,只有一行代码,它输出"这是一个构造函数"。

析构函数:析构函数的名称与类名称相同,前面有一个波浪线(~),也没有返回类型。在这个析构函数中,只有一行代码,它输出"这是一个析构函数"。

main 函数:

int main()
{person mike;system("pause"); return 0;
}

在main函数中,首先创建了一个person类的对象mike。当对象mike被创建时,构造函数会自动被调用,因此会输出"这是一个构造函数"。

然后,程序执行system(“pause”)来等待用户按下任意键继续,以防止控制台窗口立即关闭。

最后,main 函数结束,程序返回0。在main函数结束时,对象mike超出了其作用域,因此析构函数会自动被调用,输出"这是一个析构函数"。

总结:

  • 构造函数用于初始化对象,通常在对象创建时被自动调用。
  • 析构函数用于清理对象,通常在对象超出作用域或被显式删除时被自动调用。

在这个例子中,构造函数和析构函数的主要作用是在对象的生命周期的开始和结束时执行特定的操作。

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

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

相关文章

【Java 基础篇】Java 方法使用详解:让你轻松掌握方法的奥秘

如果你正在学习Java编程&#xff0c;方法是一个不可或缺的重要概念。方法允许你将代码组织成可重用的块&#xff0c;提高了代码的可维护性和可读性。在本篇博客中&#xff0c;我们将深入探讨Java方法的使用&#xff0c;从基础概念开始&#xff0c;逐步介绍如何定义、调用、传递…

深度图相关评测网站

文章目录 1 单目/Stereo相关测评网站介绍12 单目/Stereo相关测评网站介绍23 单目/Stereo相关测评网站介绍3 1 单目/Stereo相关测评网站介绍1 https://vision.middlebury.edu/stereo/eval3/ 2 单目/Stereo相关测评网站介绍2 http://www.cvlibs.net/datasets/kitti/eval_stereo…

[dasctf]misc1

不确定何种加密方式 P7NhnTtPUm/L3rmkP/eAhx5Vnbc2YyatkXCePJ0Wh2NYfqXGZCpZdCesMmEAihhUYI1PjoLq6FedZ7MSclA9h0/Dy4CavBwVg5RHr8XJmfbtuWkxK2Gn3sNTEzQi0p 1t_15_s3cR3t_k3y 也许是密钥

算法通关村——位运算在查找重复元素中的妙用

用4KB内存寻找重复元素 给定一个数组&#xff0c;包含从1到N的整数&#xff0c;N最大为32000&#xff0c;数组可能还有重复值&#xff0c;且N的取值不定&#xff0c;若只有4KB的内存可用&#xff0c;该如何打印数组中所有重复元素。 如果不要求使用4KB&#xff0c;最简单就是…

自动化测试(四):pytest结合allure生成测试报告

Allure 报告框架的名称 allure&#xff1a; noun [ U ] 诱惑;魅力;吸引力 文章目录 1. allure下载2. pytest框架使用allure3. 生成allure报告 1. allure下载 下载前需要先安装JDK&#xff0c;这里可以参考自动化测试(二)。 Allure下载路径&#xff1a;https://github.com/allu…

【数据结构】队列---C语言版(详解!!!)

文章目录 &#x1f438;一、队列的概念及结构&#x1f344;1、队列的概念定义&#x1f344;2、动图演示 &#x1f438;二、队列的实现&#x1f438;三、链表结构队列详解&#x1f34e;创建队列的结构⭕接口1&#xff1a;定义结构体&#xff08;QNode、Queue&#xff09;⭕接口2…

【39元用上Rockchip linux 1.5G双核开发板】-[板载Flash烧写镜像系统]-幸狐Luckfox Pico-超越树莓派PICO

【教程-持续更新】 幸狐Luckfox Pico RV1103 教程合集 【教程-板载Flash烧写镜像系统】-39元 Rockchip linux 1.2G开发板】-幸狐Luckfox Pico-超越树莓派PICO

ssh配置(二、登录服务器)

一. 登录 linux 服务器的两种方式 使用 ssh用户名密码 的方式登录&#xff0c;但这种方式不安全&#xff0c;密码太简单容易被暴力破解&#xff0c;密码太复杂又不容易记。使用 ssh公私钥 的方式登录。 以上两种方式都可以在图形化软件工具中配置&#xff0c;例如 finalshell…

漏洞发现-web应用发现探针类型利用(43)

关于在真实环境下面&#xff0c;这个漏洞该如何发现 这里老师把它分成了三块第一类是 #已知cms 如常见的dedecms&#xff0c;discuz&#xff0c;wordpress等源码结构&#xff0c;这些都是网上比较知名的php源码的cms的名称&#xff0c;这是我们在国内常见的几个程序&#xf…

如何排查 Flink Checkpoint 失败问题?

分析&回答 这是 Flink 相关工作中最常出现的问题&#xff0c;值得大家搞明白。 1. 先找到超时的subtask序号 图有点问题&#xff0c;因为都是成功没失败的&#xff0c;尴尬了。 借图&#xff1a; 2. 找到对应的机器和任务 方法很多&#xff0c;这里看自己习惯和公司提供…

022-从零搭建微服务-短信服务(二)

写在最前 如果这个项目让你有所收获&#xff0c;记得 Star 关注哦&#xff0c;这对我是非常不错的鼓励与支持。 源码地址&#xff08;后端&#xff09;&#xff1a;https://gitee.com/csps/mingyue 源码地址&#xff08;前端&#xff09;&#xff1a;https://gitee.com/csps…

两台电脑共享文件设置

步骤一&#xff1a;确保网络连接正常&#xff0c;可网线直连。 两台电脑IP设置&#xff0c;例&#xff1a; 步骤二&#xff1a;启用共享功能。 1.在【控制面板】中选择【网络和Internet】&#xff1b; 2.点击【网络和共享中心】&#xff0c;在左侧导航栏中&#xff0c;点击【…

DataX DorisWriter 插件DorisWriterManager类详细解读

DorisWriterManager 的类&#xff0c;用于将数据写入到 Doris 中。以下是代码的具体作用和功能解释&#xff1a; 导入必要的包和类&#xff1a; 代码开头导入了所需的包和类&#xff0c;包括日志记录、线程池、字符编码和其他相关工具类。类成员变量定义&#xff1a; 下面是一…

Python入门教程 - 判断语句(二)

目录 一、布尔类型 二、比较运算符 三、if判断语句 一、布尔类型 True False result1 10 > 5 result2 10 < 5 print(result1) print(result2) print(type(result1)) True False <class bool> 二、比较运算符 ! > < > < 比较运算的结果是布尔…

wireshark 流量抓包例题

一、题目一(1.pcap) 题目要求&#xff1a; 1.黑客攻击的第一个受害主机的网卡IP地址 2.黑客对URL的哪一个参数实施了SQL注入 3.第一个受害主机网站数据库的表前缀&#xff08;加上下划线例如abc&#xff09; 4.第一个受害主机网站数据库的名字 看到题目SQL注入&#xff0c…

Cenos7安装小火车程序动画

运维Shell脚本小试牛刀(一) 运维Shell脚本小试牛刀(二) 运维Shell脚本小试牛刀(三)::$(cd $(dirname $0)&#xff1b; pwd)命令详解 运维Shell脚本小试牛刀(四): 多层嵌套if...elif...elif....else fi_蜗牛杨哥的博客-CSDN博客 Cenos7安装小火车程序动画 一&#xff1a;替换…

numpy学习:reshape和resize

.reshape 与 .resize reshape&#xff1a;有返回值&#xff0c;所谓有返回值&#xff0c;即不对原始多维数组进行修改&#xff1b; resize&#xff1a;无返回值&#xff0c;所谓无返回值&#xff0c;即会对原始多维数组进行修改&#xff1b;

电磁式电压互感器直流电阻测试

试验目的 测量电磁式电压互感器直流电阻的目 的是检查其一次、 二次绕组的质量及回路的完整性&#xff0c; 以发现各种原因所造成的导线断裂、 接头开焊、 接触不良、 匝间短路等缺陷。 试验设备 变压器直流电阻测试仪 厂家&#xff1a; 湖北众拓高试 试验方法 一次绕组直流…

C语言的类型转换

C语言的类型转换很重要&#xff0c;经常出现&#xff0c;但是往往不被人注意&#xff0c;而在汇编代码当中就暴露无遗了。 如下列代码&#xff1a; char ch; while ((ch getchar()) ! #) putchar(ch); 反汇编后&#xff1a; .text:00401006 mov…

【文心一言】学习笔记

学习资料 《听说文心一言App霸榜了&#xff0c;那必须来一波全方位实测了》 情感陪伴&#xff1a;文心一言 App 可以充当用户的情感树洞&#xff0c;提供知心姐姐、【暖男】等角色扮演&#xff0c;为用户提供情绪疏导、情感分析、约会建议等服务。 1. 模型属性 【提示词工具…