¿¹Á¦
class
Abstract {
public
:
virtual void
fnc() = 0;
};
class
Derived:
public
Base
{
public
:
virtual
void
fnc(){}
};
void
call
Derived
Function(
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();
}