基底クラスのコンテナに派生クラスをつっこみたい。 以下のソースで #include <iostream> #include <map> #include <string> class Animal { public: Animal(void) { } virtual void Sound(void) const { std::cout << "★△■!?\n"; } }; class Cat : public Animal { public: Cat(void) { } void Sound(void) const { std::cout << "にゃあ\n"; } }; class Dog : public Animal { public: Dog(void) { } void Sound(void) const { std::cout << "わん\n"; } }; typedef s