突然ですが、今日はポリモーフィズムについてちょっと書いてみようかなぁ…、なんて思って書いてみました。 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 << "名前
![『ポリモーフィズム』](https://cdn-ak-scissors.b.st-hatena.com/image/square/bd2ad9d1e3a5a1e757d39a027b8b91b2ebf131e5/height=288;version=1;width=512/https%3A%2F%2Fstat.profile.ameba.jp%2Fprofile_images%2F79%2Fwoooh-p%2F1173943050850.jpg)