構造体または列挙型のいずれかを使用してコンストラクターをオーバーロードできますが、どちらも同じ仕事をしているようです。実際、一方から他方に変更しても、それぞれを使用して 2 つの実行可能ファイルを比較しても、違いはまったくわかりません。しかし、どれが適切ですか?
これ:
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 */ }
};