// virtual (4) // 純粋仮想関数。 #include <stdio.h> class Canimal { public: virtual void greet(void) = 0 ; // 誰もインスタンス化しないものを無理に実装しなくてもよい } ; class Ccat : public Canimal{ public: void greet(void){printf("にゃ〜\n") ;} } ; class Cdog : public Canimal{ public: void greet(void){printf("わんわん\n") ;} } ; static void greet(Canimal& anAnimal) { anAnimal.greet() ; } int main(void) { Ccat aCat ; Cdog aDog ; greet(aCat) ; greet(aDog) ; return 0 ; }