c++ - 枚举可以在成员初始化列表中初始化吗?
问题描述
我知道我可以int
使用成员初始化列表来初始化构造函数中的变量,但是我可以enum
像下面的示例那样在成员初始化列表中初始化类型吗?
enum number{zero, one, two, three};
class Example{
int test;
number number_enum;
public:
Example(int test_arg, number number_enum_arg): test(test_arg),
number_enum(number_enum_arg){
}
};
另外,我知道最好使用成员初始化列表来初始化变量,而不是使用赋值运算符,但究竟是这样吗?
解决方案
您示例中的代码将起作用,您可以在初始化列表中初始化枚举和几乎所有类型。在构造函数中添加一行以将其打印出来,您会看到。