私が持っています:
enum class orientation {
North,
East,
South,
West
};
インスタンスを左(北=>西)および右(西=>北)に回転させます。
しかし、それらを数値に変換したくありません。読みやすさと意図を損ない、最後の数値から最初の数値にジャンプすることは奇妙なことだからです。
私はたくさんの解決策を思いつきましたが、すべてが一種の不十分です:(
Orientation
というクラスを作成します(たとえば)。列挙のメンバー変数(orientation
)を与えます。ゲッター/セッターを定義し、増分および減分演算子(またはrotate_left
およびrotate_right
これらの名前がより適切であれば)。これをクラス内のすべての実装の詳細にします。
バリーが提案したロジックを使用できます。しかし、誰もそれを扱う必要がないクラスにそれを埋めてください。