C++でvariant型オブジェクト

C++でプログラミング中。ひとつのList型コンテナに複数の型のオブジェクトを乗せるために、variant型のクラスを考えてみた。テンプレートと仮想関数をうまくつかってできないものか考えたが、結局できなかった。boostにもvariant型クラステンプレートがある…