news 2026/4/18 5:38:30

c++类和对象中

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
c++类和对象中
构造函数

构造函数是特殊的成员函数,名字虽然叫做构造,但他不是用来开空间的,而是来完成初始化工作的。当实例化对象完成后,就会调用构造函数来对成员变量进行初始化。

构造函数的特点:

(1)函数名与类名相同

(2)无返回值(返回值什么都不写,void也不写)

(3)对象实例化时系统会自动调用构造函数

(4)构造函数可以重载

代码语言:javascript

AI代码解释

class Date { public: //构造函数可以重载 Date()//无参构造函数 { _year = 1; _month = 1; _day = 1; } Date(int year,int month,int day)//带参构造函数,全缺省 { _year = year; _month = month; _day = day; } void print() { cout << _year << "年" << _month << "月" << _day << "日" << endl; } private: int _year; int _month; int _day; }; int main() { Date d1;//调用无参的构造函数 d1.print(); Date d2(2024, 7, 26);//调用带参的构造函数 d2.print(); return 0; }

(5)如果类中没有显示定义构造函数,那么c++编译器会自动生成一个无参的默认构造函数。

如果类中定义了,编译器将不会再生成。

代码语言:javascript

AI代码解释

class Date { public://调用编译器自动生成的构造函数 void print() { cout << _year << "年" << _month << "月" << _day << "日" << endl; } private: int _year; int _month; int _day; }; int main() { Date d1;//调用无参的构造函数 d1.print(); return 0; }

(6)无参构造函数,全缺省构造函数,和我们不写时编译器自动生成构造函数,都叫做默认的构造函数。但这三个函数不能同时存在,不然调用的时候会存在歧义。

说明: c++中,把类型分为内置类型自定义类型内置类型就是语言提供的原生数据类型,如int,double等,自定义类型就是我们使用class/struct等关键字自己定义的类型。

(7)我们不写时,编译器自动生成的构造函数,对内置类型成员变量没有要求,是否初始化取决于编译器。而对于自定义类型成员变量,要求调用这个成员变量的默认构造函数,若是没有默认构造函数,编译器就会报错

3,析构函数

析构函数与构造函数的功能相反,它完成的不是对对象本身的销毁,不如局部对象是存在栈帧的,函数结束栈帧销毁,它就释放了,不需要我们管。c++规定,在对象销毁时,会调用析构函数,完成对象中资源清理释放工作

析构函数的特点:

(1)析构函数名是在类名前加上~

(2)无参数,无返回值

(3)一个类只能有一个析构函数,若是未显示定义,系统会自动生成默认的析构函数。

(4)对象生命周期结束时,系统会自动调用析构函数。

www.dongchedi.com/article/7591968509647880728
www.dongchedi.com/article/7591967199926239806
www.dongchedi.com/article/7591971294128882201
www.dongchedi.com/article/7591967894913876504
www.dongchedi.com/article/7591967152509534745
www.dongchedi.com/article/7591971859542114878
www.dongchedi.com/article/7591968062619353624
www.dongchedi.com/article/7591967425524941337
www.dongchedi.com/article/7591968380505604670
www.dongchedi.com/article/7591971665794744857
www.dongchedi.com/article/7591968456015364670
www.dongchedi.com/article/7591967435696390718
www.dongchedi.com/article/7591956921293554238
www.dongchedi.com/article/7591967089679123006
www.dongchedi.com/article/7591966696349811225
www.dongchedi.com/article/7591967652885938712
www.dongchedi.com/article/7591966696349975065
www.dongchedi.com/article/7591967199926010430
www.dongchedi.com/article/7591966696349581849
www.dongchedi.com/article/7591966696349712921
www.dongchedi.com/article/7591952901548130840
www.dongchedi.com/article/7591977358085947929
www.dongchedi.com/article/7591957025727447577
www.dongchedi.com/article/7591957710099219006
www.dongchedi.com/article/7591957234859754009
www.dongchedi.com/article/7591958038261891609
www.dongchedi.com/article/7591957038725415448
www.dongchedi.com/article/7591966916986896920
www.dongchedi.com/article/7591957025727218201
www.dongchedi.com/article/7591956099243508249
www.dongchedi.com/article/7591956099243639321
www.dongchedi.com/article/7591957122154480190
www.dongchedi.com/article/7591956180667449880
www.dongchedi.com/article/7591956187550630425
www.dongchedi.com/article/7591952365440696894
www.dongchedi.com/article/7591953708586648089
www.dongchedi.com/article/7591954611506987545
www.dongchedi.com/article/7591955614520050201
www.dongchedi.com/article/7591966752641647166
www.dongchedi.com/article/7591954109906403865
www.dongchedi.com/article/7591955053871743513
www.dongchedi.com/article/7591953699526722072
www.dongchedi.com/article/7591954892609290814
www.dongchedi.com/article/7591954689361822232
www.dongchedi.com/article/7591951704036229657
www.dongchedi.com/article/7591979961964380734
www.dongchedi.com/article/7591972172239782424
www.dongchedi.com/article/7591968413292495385
www.dongchedi.com/article/7591980885017723416
www.dongchedi.com/article/7591978510097744446
www.dongchedi.com/article/7591969027937845822
www.dongchedi.com/article/7591979709920346649
www.dongchedi.com/article/7591980885017690648
www.dongchedi.com/article/7591969174093267480
www.dongchedi.com/article/7591968108445843993
www.dongchedi.com/article/7591965826828829246

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 13:14:03

10分钟快速验证:你的Spring配置是否会导致Bean异常

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 设计一个Spring配置验证工具原型&#xff0c;功能包括&#xff1a;1) 上传或输入Spring配置(JavaConfig或XML)&#xff1b;2) 自动扫描潜在的Bean定义冲突&#xff1b;3) 模拟容器…

作者头像 李华
网站建设 2026/4/6 19:21:32

1小时用Rust打造物联网设备原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个物联网设备模拟器原型&#xff0c;功能包括&#xff1a;1) 模拟多种传感器数据生成&#xff0c;2) 本地数据处理和过滤&#xff0c;3) MQTT协议云端通信&#xff0c;4) 简…

作者头像 李华
网站建设 2026/3/27 7:23:31

企业级SFTP实战:安全文件传输的10个关键场景

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个企业SFTP应用场景演示项目&#xff0c;包含&#xff1a;1. 自动化日志收集系统&#xff08;多服务器→中心节点&#xff09; 2. 跨部门安全文件共享工作流 3. 定时备份任务…

作者头像 李华
网站建设 2026/4/16 13:33:08

AI助力CentOS7.6下载与自动化部署

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个自动化脚本&#xff0c;能够自动从官方镜像站下载CentOS7.6最新版本ISO文件&#xff0c;验证SHA256校验值&#xff0c;并生成对应的kickstart无人值守安装配置文件。脚本应…

作者头像 李华
网站建设 2026/4/17 16:12:15

VibeVoice能否模拟相声表演?中国传统艺术数字化

VibeVoice能否模拟相声表演&#xff1f;中国传统艺术数字化 在短视频与播客席卷内容生态的今天&#xff0c;我们越来越习惯“听”故事而非“读”文字。但当面对像相声这样高度依赖互动节奏、语气顿挫和角色配合的传统口头艺术时&#xff0c;AI语音是否真的能“接得住”那句经典…

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

编程新手必看:AI工具帮你轻松搞定变量命名

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个面向编程新手的AI命名助手&#xff0c;能够根据简单的功能描述生成变量和函数名称。工具应提供解释和示例&#xff0c;帮助新手理解命名的原则和规范。例如&#xff0c;输…

作者头像 李华