#include #include "pointer.h" #include "base.h" #include "derived.h" #include "derived2.h" pointer::pointer(){ bp = NULL; } pointer::~pointer(){ delete bp; } void pointer::set_up(int type) { switch(type) { case 0: bp = new base(); break; case 1: bp = new derived(); break; case 2: bp = new derived2(); break; } } void pointer::a(){ if (bp != NULL) { bp->a(); } } void pointer::b(){ if (bp != NULL) { bp->b(); } } void pointer::c(){ if (bp != NULL) { bp->c(); } }