class A { public: virtual void name(){ puts("わたしはAです\n"); } }; class B : public A { void name(){ puts("わたしはBです\n"); } }; int main() { A *a = new B; a->name(); return 0; }