sailing

Everything...

Enter C++让类成员字段在初始化列表中出现的顺序和他们被申明的顺序保持一致

让类成员字段在初始化列表中出现的顺序和他们被申明的顺序保持一致,因为程序执行的时候是按照成员字段被定义的顺序来通过初始化列表进行初始化的。考虑到析构函数通常要以初始化相反的顺序对乘员字段进行销毁,所以严格按照定义的顺序进行初始化可以保证析构的时候只要按照定义相反的顺序进行析构成员字段,否则你的析构函数需要知道具体的成员是按照什么顺序进行初始化的。所以保持初始化列表的顺序可以使得程序更容易理解。

另外关于初始化列表,类在初始化时,一般会先调用初始化列表,然后再调用constructor。
下面是这个best practice的范例:


#include
"stdafx.h"

#include "TestDerive.h"

#include <iostream>

#include <limits.h>

using namespace std;

 

class WeatherCondition {

public:

    WeatherCondition(int temperature, int pressure, int moistrue):

           m_temperature(temperature),

           m_pressure(pressure),

           m_moistrue(moistrue)

    {}

private:

    int m_temperature;

    int m_pressure;

    int m_moistrue;

public:

    int GetTemperature()

    {

       return m_temperature;

    }

};

 

 

 

int _tmain(int argc, _TCHAR* argv[])

{

    WeatherCondition weatherCondition(10,1,2);

    cout<<weatherCondition.GetTemperature();

 

    return 0;

}

 

posted on 2007-03-20 00:40  乌生鱼汤  阅读(389)  评论(0)    收藏  举报

导航