쉽게 설명해서.

가상함수 : 자식놈이 생성안해도 되는 함수.
virtual 부모::printf()
{
 printf("hi\n");
}

virtual 자식::printf()
{
 printf("hi 자식\n");
}

가상테이블에 printf에 대해서 등록하고
자식이 이걸 오버라이딩 하면 자식으로 등록됨.

1. 부모클래스 *a = new(자식클래스);
a->printf(); // 자식놈이 printf()

2. 부모클래스 *a = new(부모클래스);
a->printf(); // 부모 printf();

3. 자식클래스 *a = new(자식클래스);
a->printf(); // 자식 printf();

순수가상함수 : 자식놈이 반듯이 생성해야 하는 함수.
virtual printf()=0;

가상테이블에 함수를 만들고 자식이 생성해야지만 사용되는 함수.
자식이 호출 안하려면 생성 안해도 됨.
 

'프로그래밍 > C | C++' 카테고리의 다른 글

FFMPEG 디코딩 API 사용법  (1) 2013.08.16
클래스 private, protected, public 멤버 및 상속  (0) 2013.08.14
윈도우 malloc  (0) 2013.08.14
RTPLIB 1.0b 라이브러리 예제  (0) 2013.08.14
RTP 문서 한글 번역본  (0) 2013.08.14

+ Recent posts