virtual 안하면 포인터의 함수 a가 실행됨. 버철하면 실객체 비가 실행됨
class A
{
void func()
{
}
}
class B : public A
{
void func() //함수 재정의
}
A* a = new B();
이렇게 하고 a->func(); 하면 머가 실행되느냐? virtual 안하면 A의 포인터이므로 a->func()가 실행됨
만약 A클래스에서 virtual void func()로 함수를 정의했다면
실행시 실객체 B의 함수인 func()가 실행됨
'컴퓨터 과학 & 영상처리 관련 > C / C++' 카테고리의 다른 글
sprintf 예제 (0) | 2012.08.21 |
---|---|
math.h log는 자연로그 (0) | 2012.08.20 |
txt 파일로 문자열 저장하는 간단한 예제 (0) | 2012.08.06 |
backpatching 응용 문자열에 %d 사용해서 변수 활용 가능하게 하기 (0) | 2012.08.06 |
c 파일 저장 (0) | 2012.08.01 |