紫だちたる雲の細くたなびきたる blog

春はあけぼの(をかし)

[プログラミング]C++も負けてないよ

(お断わり)専門外の人々にはなんの事やら意味不明のネタが続きますが軽く読み流して下さい
JAVAのインターフェースが便利なのは、派生クラスでなくてもインターフェースさえ実装していれば多態性が使えてしまう所なのだが。
じゃあC++はどうなのよ?インターフェースなんてないよ。共通のプロパティもないクラス同士で継承したりなんてイヤじゃん。と僕も思っていた。C++使えねぇ!って。
でもさ、C++にはJAVAにはできない事ができちゃうのだよ。多重継承と言う技が!
これを使えばJAVAのインターフェースのような動きをさせることも可能だと今日気がついた。
インターフェースとは結局の所、メソッドのみのスーパークラスだと考える事ができるわけで。と言うことはメソッドのみのスーパークラスを作って継承させればOKということで。メソッドを純粋仮想関数にすれば、サブクラス側で必ず実装させる必要が出てくるから、この動きはほとんどインターフェースと変わらない物となる。おおっ!ハラショー!
実際にやってみた。おおっ!動いた!!素晴らしい!