C++类成员初始化顺序(用初始化列表)

从后往前初始化,例如下例中,首先初始化n1,因为用n2+2来初始化n1,所以n1的值为不确定;而n2稍后被初始化为0。

#include <iostream>
using namespace std;

class A{
private:
    int n1;
    int n2;
public:
    A() : n2(0), n1(n2 + 2) {}
    void Print(){cout<<n1<<endl<<n2<<endl;}
};

int main()
{
    A a;
    a.Print();
    return 0;
}

 

 

 

 

 

EOF

posted on 2012-12-13 12:56  kkmm  阅读(569)  评论(0编辑  收藏  举报