【发布时间】:2010-09-18 00:30:23
【问题描述】:
使用嵌套的公共 C++ 类和枚举有哪些优缺点?例如,假设您有一个名为printer 的类,并且该类还存储了输出托盘上的信息,您可以:
class printer
{
public:
std::string name_;
enum TYPE
{
TYPE_LOCAL,
TYPE_NETWORK,
};
class output_tray
{
...
};
...
};
printer prn;
printer::TYPE type;
printer::output_tray tray;
或者:
class printer
{
public:
std::string name_;
...
};
enum PRINTER_TYPE
{
PRINTER_TYPE_LOCAL,
PRINTER_TYPE_NETWORK,
};
class output_tray
{
...
};
printer prn;
PRINTER_TYPE type;
output_tray tray;
我可以看到嵌套私有枚举/类的好处,但是当涉及到公共枚举/类时,办公室是分开的——这似乎更像是一种风格选择。
那么,你更喜欢哪一个,为什么?
【问题讨论】: