¿¹Á¦

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


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


void call
DerivedFunction(Base *ptr){

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

}

¼Ö·ç¼Ç
ÇÑ Å¬·¡½ºÀÇ Æ÷ÀÎÅ͸¦ »ó¼ÓÇÏÁö ¾ÊÀº Ŭ·¡½ºÀÇ Æ÷ÀÎÅÍ¿¡ ij½ºÆ®ÇÏÁö ¸¶½Ê½Ã¿À. ¿À·ù¸¦ ÇÇÇÏ·Á¸é ´Ù¿î ij½ºÆÃÀ» À§ÇØ Æ÷ÀÎÅ͸¦ »ç¿ëÇÏÁö ¸¶½Ê½Ã¿À. ´ë½Å °¡»ó ÇÔ¼ö¸¦ »ç¿ëÇϽʽÿÀ.

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


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


void callDerivedFunction
(Base *ptr){

ptr->fnc();

}