Ruby で一躍有名になった Mix-in ですが、 元を辿れば 単なる多重継承の 良い利用方法にしか過ぎません。従って 多重継承のある C++ ならば Mix-in が使えるはずです。 しかし、Ruby 風の Mix-in が単なる多重継承かというとそうではなくって、 Mix-in されるクラスのメソッドを、Mix-in するモジュールから呼び出していたりします。 (例えば 標準ライブラリのEnumerable。このモジュールを each というメソッドを持つクラスに Mix-in すると、 ソート・検索などの機能がごっそり追加されます。) 静的型システムに支配された C++ 上では、単純な多重継承では実現できません。ある種の「仕組み」が必要になります。 Mix-in のおさらい Ruby では Mix-in する側のクラスを「モジュール」と呼び、 以下のような制約を加えています。 モジ