쉽게 설명해서.
가상함수 : 자식놈이 생성안해도 되는 함수.
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;
가상테이블에 함수를 만들고 자식이 생성해야지만 사용되는 함수.
자식이 호출 안하려면 생성 안해도 됨.
가상함수 : 자식놈이 생성안해도 되는 함수.
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 |