有如下的类定义
class IOOptions
{
public:
IOOptions(int opt = 0) : _options(opt) { }
\\ blah blah
typedef enum { OPT1= 1, OPT2= 2} IOOopts;
protected:
int _options;
};
现在以下两个语句是否等效?
陈述1:
IOOptions io=IOOptions::OPT1;
陈述2:
IOOptions io=IOOptions(IOOptions::OPT1);
最佳答案
是的,这两个语句将具有相同的效果。但是还有很多人可能会更清楚地发现的第三种选择:
IOOptions io(IOOptions::OPT1);
关于c++ - C++使用枚举变量调用构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27775679/