03_析构函数_第1页
03_析构函数_第2页
03_析构函数_第3页
03_析构函数_第4页
03_析构函数_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

析构函数 郭 炜 刘家瑛 1 析构函数 Destructor 成员函数的一种 名字与类名相同 在前面加 没有参数和返回值 一个类最多只有一个析构函数 2 构造函数 成员函数的一种 名字与类名相同 可以有参数 不能有返回值 可以有多个构造函数 用来初始化对象 析构函数 Destructor 对象消亡时 自动被调用 在对象消亡前做善后工作 释放分配的空间等 定义类时没写析构函数 则编译器生成缺省析构函数 不涉及释放用户申请的内存释放等清理工作 定义了析构函数 则编译器不生成缺省析构函数 3 class String private char p public String p new char 10 String String String delete p 4 析构函数和数组 对象数组生命期结束时 对象数组的每个元素的析构函数都会被调用 class Ctest public Ctest cout destructor called endl int main Ctest array 2 cout End Main endl return 0 5 输出 End Main destructor called destructor called 析构函数和运算符 delete delete 运算导致析构函数调用 Ctest pTest pTest new Ctest 构造函数调用 delete pTest 析构函数调用 pTest new Ctest 3 构造函数调用3次 delete pTest 析构函数调用3次 6 7 构造函数和析构函数 调用时机的例题 class Demo int id public Demo int i id i cout id id Constructed endl Demo cout id id Destructed endl 8 Demo d1 1 void Func static Demo d2 2 Demo d3 3 cout Func endl int main Demo d4 4 d4 6 cout main endl Demo d5 5 Func cout main ends endl return 0 9 输出 id 1 Constructed id 4 Constructed id 6 Constructed id 6 Destructed main id 5 Constructed id 5 Destructed id 2 Constructed id 3 Constructed Func id 3 Destructed main ends id 6 Destructed id 2 Destructed id 1 Destructe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论