#include<iostream> class Base{ public: virtual void print(){ std::cout << "Base" << std::endl; } virtual ~Base()=default; }; class Super : public Base{ public: void print() override{ std::cout << "Super" << std::endl; } }; int main(){ Base* array[2] = {new Base,new Super} ; array[0]->print(); array[1]->print(); delete array[0]; delete array[1]; return 0; } このプログラムを実行すると Base Super と出力されます。 Baseポイン
![静的ポリモーフィズムの安全で簡単な実装 -動的から静的にしてパフォーマンス向上- - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/e76c4879a824e50727ea337695239750acf4e29c/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZ0eHQ9JUU5JTlEJTk5JUU3JTlBJTg0JUUzJTgzJTlEJUUzJTgzJUFBJUUzJTgzJUEyJUUzJTgzJUJDJUUzJTgzJTk1JUUzJTgyJUEzJUUzJTgyJUJBJUUzJTgzJUEwJUUzJTgxJUFFJUU1JUFFJTg5JUU1JTg1JUE4JUUzJTgxJUE3JUU3JUIwJUExJUU1JThEJTk4JUUzJTgxJUFBJUU1JUFFJTlGJUU4JUEzJTg1JTIwLSVFNSU4QiU5NSVFNyU5QSU4NCVFMyU4MSU4QiVFMyU4MiU4OSVFOSU5RCU5OSVFNyU5QSU4NCVFMyU4MSVBQiVFMyU4MSU5NyVFMyU4MSVBNiVFMyU4MyU5MSVFMyU4MyU5NSVFMyU4MiVBOSVFMyU4MyVCQyVFMyU4MyU5RSVFMyU4MyVCMyVFMyU4MiVCOSVFNSU5MCU5MSVFNCVCOCU4QS0mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWMxMGZjYTRlODRjM2NkOTc5Y2VjZTNkNDJkYTIyNzU3%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwUml5YWFhYV9hJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0xMjAwOTU1M2M2NzgxZjU5OGRlN2Y5NzE1YWVlZjA1NQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D6213906aa2d1b7c346a5a550bf58f1da)