我可以使用结构或枚举来重载构造函数,它们似乎都在做同样的工作。实际上,从一个更改为另一个甚至在使用每个来区分两个可执行文件时都不会显示任何差异。但是,哪个合适?
这:
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 */ }
};