¿¹Á¦

class Abstract {
public:
virtual void fnc() = 0;
};


class Derived: public Base {
public:
virtual void fnc(){}
};


void call
DerivedFunction(Abstract *ptr){

Derived *dp = (Derived*) ptr;
dp->fnc();

}

¼Ö·ç¼Ç
abstract Ŭ·¡½ºÀÇ Æ÷ÀÎÅ͸¦ ÇØ´ç Ŭ·¡½º¿¡¼­ »ó¼Ó¹ÞÀº Ŭ·¡½º¿¡ ´Ù¿îij½ºÆ®ÇÏÁö ¸¶½Ê½Ã¿À.

class Abstract {
public:
virtual void fnc() = 0;
};


class
Derived: public
Abstract{
public:
virtual void fnc(){}
};


void callDerivedFunction
(Abstract *ptr){

ptr->fnc();

}