10. 构造方法和析构方法

1.构造方法

2.析构方法


1.构造方法

a.核心定义 构造函数是类的特殊成员函数,当对象被创建时自动调用,唯一作用是初始化对象的成员变量、 分配资源(如动态内存、文件句柄、网络连接等)

b.语法核心特点


c.常见类型-无参构造函数(默认构造)#include <iostream>#include <string>usingnamespacestd;classPerson{public:// 无参构造函数(手动定义)Person(){name="未知";age=0;cout<<"Person无参构造函数被调用"<<endl;}// 成员变量stringname;intage;};intmain(){// 创建对象时,自动调用无参构造函数Personp1;cout<<"p1.name: "<<p1.name<<", p1.age: "<<p1.age<<endl;// 输出:Person无参构造函数被调用 → p1.name: 未知, p1.age: 0return0;}
-带参构造函数(重载)classPerson{public:// 无参构造Person(){name="未知";age=0;cout<<"Person无参构造函数被调用"<<endl;}// 带参构造(重载)Person(stringn,inta){name=n;age=a;cout<<"Person带参构造函数被调用"<<endl;}stringname;intage;};intmain(){// 调用带参构造Personp2("张三",20);cout<<"p2.name: "<<p2.name<<", p2.age: "<<p2.age<<endl;// 输出:Person带参构造函数被调用 → p2.name: 张三, p2.age: 20return0;}

2.析构方法

a.核心定义 析构函数是类的特殊成员函数,当对象被销毁时自动调用(比如对象出作用域、delete动态对 象),唯一作用是释放对象占用的资源(如动态内存、关闭文件、释放锁)

b.语法核心特点

c.核心示例classStudent{public:// 构造函数:分配动态内存Student(stringn){name=newstring(n);// 动态分配string内存cout<<"Student构造函数:分配了动态内存"<<endl;}// 析构函数:释放动态内存~Student(){deletename;// 释放构造时分配的内存cout<<"Student析构函数:释放了动态内存"<<endl;}string*name;// 指针成员,指向动态内存};intmain(){{// 局部对象:出这个代码块时自动销毁,调用析构Students("王五");cout<<"s.name: "<<*s.name<<endl;}// 输出顺序:// Student构造函数:分配了动态内存 → s.name: 王五 → Student析构函数:释放了动态内存return0;}

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

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

相关文章

【一竞技】LCK第一赛段:落后一万四惊天逆转 T1 2比0横扫KT!

北京时间1月24日&#xff0c;LCK赛区第一赛段的比赛继续进行&#xff0c;昨天LCK杯T1和KT的BO3&#xff0c;本场比赛可以说KT是将心态给打崩了&#xff0c;在领先一万四的经济情况下&#xff0c;被T1完成了惊天逆转&#xff0c;让这一场传统的通讯社大战再一次成为T1的舞台&…

学长亲荐2026自考AI论文网站TOP8:开题报告全测评

学长亲荐2026自考AI论文网站TOP8&#xff1a;开题报告全测评 2026年自考AI论文写作工具测评&#xff1a;精准选型指南 随着人工智能技术的不断进步&#xff0c;越来越多的自考生开始依赖AI论文写作工具来提升效率、优化内容质量。然而&#xff0c;面对市场上种类繁多的平台&…

GEO优化服务商怎么选?2026年核心技术底层深度解析与精准选型指南

2026年,生成式AI搜索市场竞争白热化,用户规模突破5.15亿,GEO(生成式引擎优化)已从“流量红利赛道”升级为“技术硬核战场”。随着AI模型迭代加速,单纯依赖“内容堆砌+渠道分发”的传统GEO模式逐渐失效,技术底层…

2026年二手物资回收厂家权威推荐榜:制冷设备回收、办公座椅回收、办公设备回收、大型卖场回收、工厂设备回收、工地二手空调采购选择指南

2026年川南诚信二手物资回收品牌推荐一、川南二手物资回收行业发展现状与痛点据《2026中国二手流通行业发展白皮书》显示,2026年川南地区二手物资流通市场规模突破120亿元,年复合增长率达18.7%,成为区域循环经济的重…

9 大指标筛真服务商:2026 GEO 优化服务商数据监测能力评级指南

2026年,生成式AI搜索用户规模突破5.15亿,GEO(生成式引擎优化)已成为品牌抢占流量的核心赛道。但中国商业广告协会AI营销应用工作委员会《2025年中国GEO行业发展报告》指出,行业最大乱象是“假交付”——服务商承诺…

2026年川南优秀空调回收品牌推荐指南

2026年川南优秀空调回收品牌推荐指南一、行业背景与筛选依据据《2026年中国二手物资回收行业白皮书》数据显示,川南地区(宜宾、泸州、自贡、内江、乐山)二手空调年回收量同比增长17.2%,其中酒店、企业搬迁及居民搬…

测开面试题:数组和链表的区别

数组和链表是两种常见的数据结构&#xff0c;各自有不同的特点、优点和缺点&#xff0c;并且适用于不同的应用场景。下面我将详细说明它们之间的区别。 数组 特点&#xff1a; 连续存储&#xff1a;数组使用一块连续的内存存储数据元素。 固定大小&#xff1a;一旦定义&…

用Python requests库玩转接口自动化测试!测试工程师的实战秘籍

接口自动化测试是提升测试效率的关键&#xff0c;而Python的requests库因其简洁易用、功能强大&#xff0c;成为测试工程师的“瑞士军刀”。 但你是否还在用requests.get()和requests.post()写重复代码&#xff1f;是否遇到过文件上传失败、Cookie管理混乱、响应断言复杂的问题…

玛丽·巴芙特的新兴市场价值投资:高风险中的高回报

玛丽巴芙特的新兴市场价值投资&#xff1a;高风险中的高回报关键词&#xff1a;玛丽巴芙特、新兴市场、价值投资、高风险高回报、投资策略摘要&#xff1a;本文围绕玛丽巴芙特的新兴市场价值投资理念展开&#xff0c;深入剖析在新兴市场中进行价值投资所面临的高风险与可能获得…

大数据领域A_B测试的成本效益分析

大数据领域A/B测试的成本效益分析&#xff1a;从“试错”到“算错”的智慧升级 一、引入与连接&#xff1a;为什么你需要给A/B测试算笔账&#xff1f; 1. 一个让产品经理失眠的问题 凌晨3点&#xff0c;某电商产品经理小李盯着电脑屏幕上的用户行为数据&#xff0c;眉头紧锁…

实用指南:PERL Docker 容器化部署指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2026年牙齿矫正公司权威推荐:三甲口腔医院有哪些、儿童牙齿矫正、儿童看牙口腔医院多少钱、口腔医院口碑怎么样、口腔医院根管治疗选择指南

2026广安牙齿矫正机构推荐 高性价比之选一、正畸行业发展背景与筛选维度据《2026中国口腔正畸行业发展白皮书》数据显示,国内正畸就诊人群年增长率达18.3%,其中36-55岁中年群体占比提升至22%,19-35岁上班族群体占比…

坚守真理本真,涵养思想主权 | Uphold the Essence of Truth, Cultivate the Sovereignty of Thought

坚守真理本真&#xff0c;涵养思想主权 | Uphold the Essence of Truth, Cultivate the Sovereignty of Thought切勿动辄将自身认知之外的事物轻率归为“虚构”&#xff0c;这是国内主流AI大模型普遍存在的沉疴。试举一例&#xff1a;112是颠扑不破的真理&#xff0c;若仅因自身…

大数据环境下半结构化数据的挖掘算法对比

大数据环境下半结构化数据的挖掘算法对比:从积木游戏到商业洞察的实战指南 关键词:半结构化数据、数据挖掘算法、大数据处理、算法对比、应用场景 摘要:在大数据时代,半结构化数据(如JSON、XML、日志文件)已成为企业核心资产。但这类数据“有结构却不固定”的特性,让传统…

深度测评10个AI论文写作软件,本科生毕业论文必备!

深度测评10个AI论文写作软件&#xff0c;本科生毕业论文必备&#xff01; AI 工具如何助力论文写作&#xff0c;降低 AIGC 率又不失语义通顺 随着人工智能技术的不断发展&#xff0c;越来越多的 AI 工具被应用于学术写作领域&#xff0c;尤其是对于本科生而言&#xff0c;这些工…

鸿蒙中级课程笔记2—状态管理V2—@Provider装饰器和@Consumer装饰器:跨组件层级双向同步

Provider和Consumer用于跨组件层级数据双向同步&#xff0c;可以使得开发者不用拘泥于组件层级。 Provider和Consumer属于状态管理V2装饰器&#xff0c;所以只能在ComponentV2中才能使用&#xff0c;在Component中使用会编译报错。 Provider和Consumer提供了跨组件层级数据双…

鸿蒙中级课程笔记2—状态管理V2—@Monitor装饰器:状态变量修改监听

为了增强状态管理框架对状态变量变化的监听能力&#xff0c;开发者可以使用Monitor装饰器对状态变量进行监听。 Monitor提供了对V2状态变量的监听。在阅读本文档前&#xff0c;建议提前阅读&#xff1a;ComponentV2&#xff0c;ObservedV2和Trace&#xff0c;Local。 说明 M…

鸿蒙中级课程笔记2—状态管理V2—@Computed装饰器:计算属性

当开发者使用相同的计算逻辑重复绑定在UI上时&#xff0c;为了防止重复计算&#xff0c;可以使用Computed计算属性。计算属性中的依赖的状态变量变化时&#xff0c;只会计算一次。这解决了UI多次重用该属性导致的重复计算和性能问题。如下面例子。 Computed get sum() {return…

鸿蒙中级课程笔记2—状态管理V2—@Local

Local装饰器&#xff1a;组件内部状态 为了实现对ComponentV2装饰的自定义组件中变量变化的观测&#xff0c;开发者可以使用Local装饰器装饰变量。 在阅读本文档前&#xff0c;建议提前阅读&#xff1a;ComponentV2。常见问题请参考组件内状态变量常见问题。 说明 从API ve…

鸿蒙中级课程笔记2—状态管理V2—@Param

为了增强子组件接受外部参数输入的能力&#xff0c;开发者可以使用Param装饰器。 Param不仅可以接受组件外部输入&#xff0c;还可以接受Local的同步变化。在阅读本文档前&#xff0c;建议提前阅读&#xff1a;Local。 说明 从API version 12开始&#xff0c;在ComponentV2装…