Chinaunix首页 | 论坛 | 博客
  • 博客访问: 671206
  • 博文数量: 150
  • 博客积分: 4070
  • 博客等级: 中校
  • 技术积分: 1795
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-23 21:44
文章分类

全部博文(150)

文章存档

2012年(1)

2011年(123)

2010年(26)

分类: C/C++

2011-06-17 20:47:29

一、普通构造函数
1、类的构造函数用于初始化类对象;
 
2、类的构造函数由创建对象时,系统自动调用;
 
3、类的构造函数是与类同名的函数的函数,没有返回值,且为公有的public;
 
4、构造函数作为类的成员函数,可以直接访问类的所有成员变量,可以是内联函数,不能是虚函数,可以是带参数表,可以带默认的形参值,也可以重载;
 
5、构造函数还有初始化列表,主要作用是对const变量初始化,或者在继承中,向基类构造函数传递参数,以及对类对象成员的初始化。
 
二、拷贝构造函数
1、拷贝构造函数是一种特殊的构造函数,其形参是本类的对象的常引用,其作用是使用一个已经存在的对象(由拷贝构造函数的参数指定的对象)去初始化一个新的同类的对象。
 
2、程序员可以根据需要编写拷贝构造函数,如果程序员不编写,则默认生成一个,又不愿其他人使用,则将拷贝构造函数声明为private的。
 
3、默认拷贝构造函数的功能是把初始值对象的每个数据成员的值复制到新建立的对象中,其执行的是“浅拷贝”,如果类中含有指针等,则使用默认的拷贝构造函数则会出错。
 
4、拷贝构造函数被调用的情况:
   当一个类的一个对象去初始化该类的另一个对象;如:Class A, B(A);
   如果函数的形参是类的对象,调用函数时,进行形参和实参结合时;
   如果函数的返回值是类的对象,函数执行完成返回调用者时;
 
三、析构函数
1、析构函数用来完成对象被删除前的一些清理工作,析构函数是在对象的生存期即将结束的时刻由系统自动调用的。它的调用完成之后,对象就消失,相应的内存空间也被释放。
 
2、析构函数也是类的公有成员函数,也没有返回值,析构函数没有参数,因此不能被重载。如果不显示定义析构函数,则系统自动生成一个默认的析构函数。
 
3、析构函数可以是内联函数,也可以是虚函数。
 
4、对于具有相同的存储类型的对象,其析构函数的调用顺序与构造函数相反。
 
四、类的组合
1、类的组合(聚集),描述的是一个类内嵌其他类的对象作为成员的情况,它们之间的关系是一种包含与被包含的关系。
 
2、当创建类的对象时,如果这个类具有内嵌对象成员,那么各个内嵌对象也将被自动创建,在创建对象时既要对本类的基本数据成员初始化,又要对内嵌对象成员进行初始化。内嵌对象初始化的顺序根据在类中的声明顺序进行初始化。
阅读(1676) | 评论(0) | 转发(0) |
0

上一篇:inline virtual friend

下一篇:类的继承与派生

给主人留下些什么吧!~~