news 2026/5/1 13:01:45

10. 构造方法和析构方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 4:43:58

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

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

作者头像 李华
网站建设 2026/5/1 4:46:09

什么是资产负债重分类?

简单来说&#xff0c;资产负债重分类是指在编制资产负债表时&#xff0c;根据会计科目的实际经济实质&#xff0c;对某些在总账中余额方向不正确的科目进行调整&#xff0c;使其在报表中列示到正确的项目下。为什么会产生这个问题&#xff1f;根源&#xff1a;在日常做账时&…

作者头像 李华
网站建设 2026/5/1 4:44:58

学霸同款2026 AI论文工具TOP9:专科生毕业论文写作全测评

学霸同款2026 AI论文工具TOP9&#xff1a;专科生毕业论文写作全测评 2026年AI论文工具测评&#xff1a;为何值得一看&#xff1f; 随着人工智能技术的不断进步&#xff0c;越来越多的专科生开始借助AI工具提升论文写作效率。然而&#xff0c;面对市场上琳琅满目的产品&#x…

作者头像 李华
网站建设 2026/5/1 4:45:28

指针与数组:为什么数组名是特殊的指针?

指针与数组&#xff1a;为什么数组名是特殊的指针&#xff1f; 在C编程中&#xff0c;指针与数组的关系是入门阶段的核心难点&#xff0c;也是高频考点。很多开发者会发现一个有趣的现象&#xff1a;数组名既能像普通变量一样通过下标访问元素&#xff0c;又能像指针一样进行地…

作者头像 李华
网站建设 2026/4/30 10:01:09

AI人工智能-Agent相关介绍-第十四周(小白)

一、Agent是什么 Agent翻译过来时“智能体”,你可以把它理解为一个“有自主能力的智能助手”——它不用人一步步指挥,能自己理解任务,规划步骤、使用工具、记住过往经历,甚至和其他Agent或人类协作,最终完成目标。 简单说:普通LLM是“你问我答”的工具,二Agent是“你交…

作者头像 李华
网站建设 2026/5/1 5:44:03

马斯克又开源了。。。

B站&#xff1a;啥都会一点的研究生公众号&#xff1a;啥都会一点的研究生 最近一周AI科技圈又发生了啥新鲜事&#xff1f; Qwen3-TTS全家桶开源 Qwen3-TTS系列模型正式开源&#xff0c;包含1.7B和0.6B两种参数规模&#xff0c;基于自研Qwen3-TTS-Tokenizer-12Hz多码本语音编…

作者头像 李华