#include <stdio.h>

class Base
{
public:
 Base()    { printf("base\n"); };
 ~Base()    { printf("~base\n"); };
 virtual void out() { printf("base out\n"); };
};

class A : public Base
{
public:
 A()    { printf("a\n"); };
 ~A()   { printf("~a\n"); };
 void out()  { printf("a out\n"); };
};

class B : public Base
{
public:
 B()    { printf("b\n"); };
 ~B()   { printf("b\n"); };
 void out()  { printf("b out\n"); }
};

void main()
{
 A a;
 Base* base = &a;
 base->out();
 base = new B;
 base->out;
}

이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License