- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
W10建筑
10.1 构造函数 10.2 析构函数 10.3 拷贝构造函数 10.4 拷贝函数与对象成员 小 结构造函数不同于普通成员函数 在对象产生时承担初始化职能。 其函数名为类名,且无返回值类型。 生成对象时由系统自动调用。 无显式定义时,由编译器自动产生缺省构造函数。 即:对象的生成离不开构造函数。 小 结 若在类的定义中没有显式地定义构造函数及析构函数,编译器自动产生缺省的构造/析构函数。 若在产生对象时不对数据成员初始化,可以不显式地定义构造函数。 撤消对象时,若不做任何结束工作,可以不显式地定义析构函数。 若对象中有new运算符分配的动态空间,必须定义析构函数由delete来释放该数据占用空间。 本章习题: 10-2,10-3 理解构造函数和析构函数的概念和用途; 掌握构造函数、拷贝构造函数、析构函数的定义与使用; 了解调用拷贝构造函数的时机,理解对象的深拷贝与浅拷贝; 了解对象成员的构造函数和析构函数调用顺序和对象初始化方法。 第10章 构造函数和析构函数 class A { int x,y; public: A(int a,int b) { x=a; y=b; cout“x=”x‘\t’“y=”y“调用构造函数”‘\n’; } ~A(){cout“调用析构函数”‘\n’;} }; void main(void) { A f(5,6); f=A(7,8); } 本例中公有成员 包含一个构造函数和一个析构函数 第10章 构造函数和析构函数 class A { int x,y; public: A(int a,int b) { x=a; y=b; cout“x=”x‘\t’“y=”y“调用构造函数”‘\n’; } ~A(){cout“调用析构函数”‘\n’;} }; void main(void) { A f(5,6); f=A(7,8); } 定义对象并调用构造函数 产生的结果是 调用构造函数 X=5 y=6 第10章 构造函数和析构函数 class A { int x,y; public: A(int a,int b) { x=a; y=b; cout“x=”x‘\t’“y=”y“调用构造函数”‘\n’; } ~A(){cout“调用析构函数”‘\n’;} }; void main(void) { A f(5,6); f=A(7,8); } 这是个什么语句? 如何操作呢? 调用构造函数 X=5 y=6 第10章 构造函数和析构函数 class A { int x,y; public: A(int a,int b) { x=a; y=b; cout“x=”x‘\t’“y=”y“调用构造函数”‘\n’; } ~A(){cout“调用析构函数”‘\n’;} }; void main(void) { A f(5,6); f=A(7,8); } 调用构造函数 X=5 y=6 =右边的含义是: 产生一个临时对象并调用构造函数 该临时对象中的参数7,8 使构造函数中的数据初始化 调用构造函数 X=7 y=8 执行结果是 第10章 构造函数和析构函数 class A { int x,y; public: A(int a,int b) { x=a; y=b; cout“x=”x‘\t’“y=”y“调用构造函数”‘\n’; } ~A(){cout“调用析构函数”‘\n’;} }; void main(void) { A f(5,6); f=A(7,8); } 调用构造函数 X=5 y=6 紧接着将临时对象赋给对象f, 然后C++立即撤消这个临时对象。 这意味着临时对象寿命结束, 因此需要调用析构函数来释放,结果是 调用构造函数 X=7 y=8 调用析构函数 第10章 构造函数和析构函数 class A { int x,y; public: A(int a,int b) { x=a; y=b; cout“x=”x‘\t’“y=”y“调用构造函数”‘\n’; } ~A(){cout“调用析构函数”‘\n’;} }; void main(void) { A f(5,6); f=A(7,8); } 调用构造函数 X=5 y=6 调用构造函数 X=7 y=8 调用析构函数 调用析构函数 所有语句执行完后, 对象f的寿命结束,因此 它也要
您可能关注的文档
- The Fourth Year of the unit of the third is lesson 5翻译翻译.doc
- the second unit of the second unit of the ssu五级语言.doc
- the number times the多位多位乘法表.ppt
- the Control of the auxiliary System of the Fourth模块.ppt
- the加of the分数是1.ppt
- ThinkPad SL400 unpick洗_教程.doc
- the显见乘法.ppt
- U1键词和句子模式.ppt
- travel_journal教案.doc
- u3_travel_journal-warming_up课件.ppt
- 华为汽车业务核心竞争力剖析-2025-07-新势力.pptx
- 2025全球汽车供应链核心企业竞争力白皮书.pdf
- 2025粤港「组装合成」模块化建筑跨境贸易指南.pdf
- 3.1 做有梦想的少年(课件) 统编版道德与法治七年级上册.pptx
- 6.1友谊的真谛 课件- 统编版道德与法治七年级上册.pptx
- 4.1家的意味 课件- 统编版道德与法治七年级上册.pptx
- 3.2学习成就梦想 课件- 统编版道德与法治七年级上册.pptx
- 5.1走近老师 课件- 统编版道德与法治七年级上册.pptx
- 5.2珍惜师生情谊 课件- 统编版道德与法治七年级上册.pptx
- 1.1 奏响中学序曲 课件 统编版道德与法治七年级上册.pptx
文档评论(0)