枚举可以在成员初始化列表中初始化吗?

Can enums be initialized in an member initialization list?

本文关键字:初始化 列表 成员 枚举      更新时间:2023-10-16

我知道我可以使用成员初始化列表初始化构造函数中的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){
    }  
};

另外,我知道最好使用成员初始化列表初始化变量,而不是使用赋值运算符,但究竟是这样吗?

示例中的代码将起作用,您可以初始化枚举和初始值设定项列表中的几乎所有类型。向构造函数添加一行以将其打印出来,您将看到。