C++ Advent Calendar 2012 2日目の後編の記事になります。 前編はこちら。 Sprout を使うたった一つの理由 [宣伝] 不定期ですが、オンライン上で読書会を開いています。 C++オンライン読書会 Boost.読書会 気になる方はぜひ参加してみてはどうでしょうか! 概要 Boost.TypeErasure の布教を簡単に。 C++ での一般的なポリモフィズム C++ でポリモフィズムを実現する場合、一般的には継承を使用して次のような感じになるかと思います。 #include <iostream> #include <memory> #include <vector> struct animal{ void virtual say() const = 0; virtual ~animal(){} }; struct inu : animal{ void virtual