Chinaunix首页 | 论坛 | 博客
  • 博客访问: 181143
  • 博文数量: 65
  • 博客积分: 1790
  • 博客等级: 上尉
  • 技术积分: 460
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-21 23:51
文章分类
文章存档

2012年(8)

2011年(38)

2010年(19)

分类: C/C++

2011-02-24 23:41:08

C++初始化类的成员,不仅可以用constructor完成,也可以用初始化类成员列表来完成。

有些情况只能用第一种,而且通常第一种效率高些。两者区别:

1,普通变量编译器会默认替你初始化。它们既能初始化,也能被赋值,而常量const按照其意思只能被初始化,不能赋值。所有const member只能用成员初始化列表来完成初始化,不能在构造函数内为它们赋值。

2,类对象初始化是调用它的构造函数完成,如没有写构造函数,编译器会默认生成一个。如定义带参数的构造函数,那么编译器不生成默认构造函数,这样 这个类对象的初始化必须有参数,如果此对象用作另一个类的成员,为了初始化这个成员,必须为这个类的对象构造函数传递一个参数。所以一个类里的所有构造函 数都是有参数的,那么这样的类如果做为别的类的成员函数,必须显示的初始化它,你也只能通过成员初始化列表来完成初始化。

参考:

1,C++初始化成员列表 http://blog.chinaunix.net/u/21790/showart_323092.html

阅读(745) | 评论(0) | 转发(0) |
0

上一篇:简明批处理教程

下一篇:C++内存问题

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