代码改变世界

使用参数初始化表来实现对数据成员的初始化

2016-06-29 21:05  小竹心语  阅读(2628)  评论(0编辑  收藏  举报

这是c++提供的一种机制,具体格式如下:

 1 class BOX
 2 {
 3 public:    
 4 BOX(int h,int w ,int len);
 5 private:
 6 int height;
 7 int width;
 8 int length;
 9 };
10 
11 使用参数初始化表初始化的方式:
12 
13 BOX::BOX(int h ,int w ,int len):height(h), width(w), length(len){}
14 
15 传统的方式是这样子写的:
16 BOX::BOX(int h ,int w ,int len)
17 {
18 height= h;
19 width= w;
20 length= len;
21 }

注意,使用参数列表初始化是不能初始化静态变量的:比如说下面的

class BOX
 2 {
 3 public:    
 4 BOX(int h,int w ,int len);
 5 private:
 6 static int height;
 7 int width;
 8 int length;
 9 };
因为静态成员与对象无关,属于整个类,构造函数是构造某个具体的对象