首页 > 解决方案 > 枚举可以在成员初始化列表中初始化吗?

问题描述

我知道我可以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){

    }  

};

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

标签: c++classoopenumsconstructor

解决方案


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


推荐阅读