news 2026/4/23 16:06:48

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/4/23 11:29:03

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

Once&#xff1a;初始化同步一次 想要实现仅从外部初始化一次且不接受后续同步变化的能力&#xff0c;可以使用Once装饰器搭配Param装饰器。 阅读本文档前&#xff0c;请先阅读Param。 说明 从API version 12开始&#xff0c;在ComponentV2装饰的自定义组件中支持使用Once装…

作者头像 李华
网站建设 2026/4/23 11:34:03

收藏级干货:DeepSeek Engram架构解析:大模型语言理解的新思路

DeepSeek与北大联合发布Engram架构&#xff0c;将语言理解分为"推理"和"知识"两部分。通过2-Grams/3-Grams分词和Multi-Head Hash存储短语&#xff0c;结合Context-aware Gating机制解决多义词问题。Engram将传统模型中用于"组合固定短语"的大量…

作者头像 李华
网站建设 2026/4/23 14:42:20

导师推荐8个AI论文写作软件,继续教育学生轻松搞定毕业论文!

导师推荐8个AI论文写作软件&#xff0c;继续教育学生轻松搞定毕业论文&#xff01; AI 工具让论文写作不再难 在当前的学术环境中&#xff0c;继续教育学生面临着越来越高的论文写作要求。无论是本科、硕士还是博士阶段&#xff0c;撰写一篇高质量的毕业论文不仅是对知识的总…

作者头像 李华
网站建设 2026/4/23 13:03:32

我用 Python 监听了自己的键盘,生成击键热力图,看看每天到底在“摸鱼”还是“搬砖”?

一、真实痛点引入:你的“努力”,需要可视化的证明 作为程序员,每天下班时总是感觉头昏脑涨、手指僵硬,觉得自己今天疯狂输出了几千行代码。但转头写日报的时候却陷入沉思:“我今天到底干了啥?” 向老板证明工作饱和度,靠字数是不够的。极客的最高浪漫,是用数据量化自…

作者头像 李华
网站建设 2026/4/21 16:34:21

命令行文本编辑器(Command-Line Tools)

2. 命令行文本编辑器 nano 是什么&#xff1f; nano 是一个命令行文本编辑器它比 vim 或 emacs 更简单&#xff0c;适合初学者你可以在终端里直接用它来编辑文件&#xff08;比如 .zshrc&#xff09;从 macOS 10.0&#xff08;2001年&#xff09;开始&#xff0c;nano 就一直是…

作者头像 李华
网站建设 2026/3/28 8:16:18

这是一次必要的警示:AI 不是智能,也不会保护你

本文不讨论商业前景、不讨论模型迭代速度&#xff0c; 只讨论一个问题&#xff1a;我们正在把什么东西&#xff0c;错误地当成“可以信任的智能”。 一、先说结论&#xff1a;Transformer 决定了 AI 永远不是“智能体” 当前所有主流大模型&#xff0c;核心仍是 Transformer 架…

作者头像 李华