初始化类的非静态成员变量在哪里?

时间:2011-03-14 05:27:23

标签: c++

初始化类的非静态成员变量在哪里?

在类声明中或构造函数内?感谢

3 个答案:

答案 0 :(得分:5)

在构造函数中。构造函数用于初始化类的非静态成员。


class foo
{
    static int num; // static variable don't belong to any particular instance of a class.
    foo(){}
};

所以,在相应的源文件中这样做 -

int foo::num = 10 ;

答案 1 :(得分:4)

它在构造函数的初始化列表中。如果使用编译器生成的构造函数,那么原理是相同的,它只是隐式生成的。

答案 2 :(得分:1)

最好在构造函数初始化列表中: http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.6