初始化类的非静态成员变量在哪里?
在类声明中或构造函数内?感谢
答案 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