컴퓨터 과학 & 영상처리 관련/C / C++
상속에 대한 또 하나의 예제
꺄뜨르
2012. 8. 16. 10:38
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()가 실행됨