我正在学习C ++。很好奇,只能从类声明中为静态和常量变量赋值吗?这主要是为什么当您为普通成员分配值时,他们有一种特殊的方法
void myClass::Init() : member1(0), member2(1)
{
}
最佳答案
看起来应该是构造函数。如果是的话,则应该没有返回类型,并且必须与该类具有相同的名称,例如,
myClass::myClass()
: member1(0), member2(1)
{
}
只有构造函数可以具有初始化列表。您不能将该初始化类型委托给
Init
函数。任何非静态成员都可以在构造函数初始化器列表中初始化。所有const和引用成员都必须在构造函数初始化程序列表中进行初始化。
一切都相等,you should generally prefer to initialize all members in the constructor initializer list,而不是在构造函数的主体中(有时无法使用初始化器列表,或者笨拙地使用初始化器列表,在这种情况下,显然不应使用它)。
关于c++ - 只能将static和const变量分配给一个类吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2718253/