突然ですが、今日はポリモーフィズムについてちょっと書いてみようかなぁ…、なんて思って書いてみました。 Wikipediaの説明には「ポリモーフィズム(Polymorphism)とは、主にオブジェクト指向プログラミングで、あるオブジェクトへの操作が呼び出し側(sender)ではなく、受け手のオブジェクト(receiver)によって定まる特性のこと」とあります。 C++で簡単な例を見てみましょう(ベタな例ですが…)。 class Animal { public: virtual ~Animal() {} virtual std::string get_name() const = 0; }; とまあ、こんなインターフェースがあったとして、Animalに名前を問う関数があるとしましょう。 void ask_name(const Animal& animal) { std::cout << "名前