【发布时间】:2012-11-18 23:54:03
【问题描述】:
我可以使用结构或枚举来重载构造函数,它们似乎都做同样的工作。实际上,从一个更改为另一个甚至在使用每个来区分两个可执行文件时都没有显示任何差异。但是,哪个合适呢?
这个:
enum PointLocalCoord{ local };
enum PointGlobalCoord{ global };
class Point {
Point( const PointLocalCoord, const int x, const int y )
{ /* something */ }
Point( const PointGlobalCoord, const int x, const int y )
{ /* something else */ }
};
或者这个:
struct local{};
struct global{};
class Point {
Point( const local, const int x, const int y )
{ /* something */ }
Point( const global, const int x, const int y )
{ /* something else */ }
};
【问题讨论】:
标签: c++ constructor struct enums overloading