当前位置: 首页 > news >正文

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.jsqmd.com/news/294784/

相关文章:

  • 【一竞技】LCK第一赛段:落后一万四惊天逆转 T1 2比0横扫KT!
  • 学长亲荐2026自考AI论文网站TOP8:开题报告全测评
  • GEO优化服务商怎么选?2026年核心技术底层深度解析与精准选型指南
  • 2026年二手物资回收厂家权威推荐榜:制冷设备回收、办公座椅回收、办公设备回收、大型卖场回收、工厂设备回收、工地二手空调采购选择指南
  • 9 大指标筛真服务商:2026 GEO 优化服务商数据监测能力评级指南
  • 2026年川南优秀空调回收品牌推荐指南
  • 测开面试题:数组和链表的区别
  • 用Python requests库玩转接口自动化测试!测试工程师的实战秘籍
  • 玛丽·巴芙特的新兴市场价值投资:高风险中的高回报
  • 大数据领域A_B测试的成本效益分析
  • 实用指南:PERL Docker 容器化部署指南
  • 2026年牙齿矫正公司权威推荐:三甲口腔医院有哪些、儿童牙齿矫正、儿童看牙口腔医院多少钱、口腔医院口碑怎么样、口腔医院根管治疗选择指南
  • 坚守真理本真,涵养思想主权 | Uphold the Essence of Truth, Cultivate the Sovereignty of Thought
  • 大数据环境下半结构化数据的挖掘算法对比
  • 深度测评10个AI论文写作软件,本科生毕业论文必备!
  • 鸿蒙中级课程笔记2—状态管理V2—@Provider装饰器和@Consumer装饰器:跨组件层级双向同步
  • 鸿蒙中级课程笔记2—状态管理V2—@Monitor装饰器:状态变量修改监听
  • 鸿蒙中级课程笔记2—状态管理V2—@Computed装饰器:计算属性
  • 鸿蒙中级课程笔记2—状态管理V2—@Local
  • 鸿蒙中级课程笔记2—状态管理V2—@Param
  • 鸿蒙中级课程笔记2—状态管理V2—@Once、@Event
  • 2026广安种植牙优质机构推荐榜 高性价比之选
  • 深入 Pinia 工作原理:响应式核心、持久化机制与缓存策略 - 教程
  • 构建AI Agent的自适应学习系统
  • 软件测试之单元测试
  • 京城爱加陪诊官方电话声明
  • 如何高效阅读学术文献:硕士研究生完全指南
  • windows版中间件启动 - 详解
  • 实用指南:我在CSDN学MYSQL之----数据库基本概念和基本知识(上)
  • 从0到1!AI提示工程架构师助力智能营销腾飞