2021-05-01から1ヶ月間の記事一覧

enumを基に変換関数を内蔵したオブジェクトをつくる

enumで定義されたデータをシリアライズするときは、何らかの数値(あるいは文字列)と相互変換する。 相手がintでC言語であれば、単純にキャストで相互変換もできる。C++であればstatic_castを使うこともあるだろう。 enum en { e1, e2, e3 }; en e = e3; int …

オブジェクト毎に内部インターフェースをカスタマイズする方法

複数のオブジェクトクラスに対して、同じ動作をさせるクラスの設計をすることがある。 例えば、ファイルへのIO処理はいろいろなオブジェクトを文字列かバイナリに相互変換させるクラスあるいは関数を設計する。 毎度個別に記述するのも良いが、もう少し簡便…