使用嵌套公共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;
我能看到嵌套私有枚举/类的好处,但是当涉及到公共的时候,这个问题似乎更多是一种风格的选择。那么,你更喜欢哪一个?为什么?