Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2981204
  • 博文数量: 412
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 7374
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-25 15:15
个人简介

学习是一种信仰。

文章分类

全部博文(412)

文章存档

2014年(108)

2013年(250)

2010年(11)

2009年(43)

我的朋友

分类: C/C++

2014-01-23 08:53:44

构造函数(constructor):构造函数是类的一种特殊的方法,主要用在创建对象时初始化对象即为对象成员变量赋初值,总与new运算符一起使用。
析构函数(destructor):析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
构造函数提供了一种机制,通过它完成必要的初始化工作,从而使对象成为有意义的存在物,而不仅仅只是一块原始的空间。
多层继承中,最基础的类的构造函数首先被执行,然后才是上一层的构造函数,如此到最外层的继承类。
构造函数的隐含(或半隐含)工作:类关联信息表;如果类中含有虚函数,或者,它覆盖了基类中的虚函数(两种情况下都意味着类有自己的虚函数表)。那么,设置正确的关联后,将存在一个指针(v-ptr),它正确地指向了该虚函数表(v-table)。此后,多态才能表现出所期望的正确行为。
与构造函数的执行次序刚好相反,析构函数从最外层的类开始执行,最基础的类的析构函数最后执行,看起来就象一层层的剥壳。结果看起来是这样的:用户析构代码->成员对象析构->基类析构函数。
阅读(1523) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~