가상함수는 virtual 키워드를 앞에다 붙여서 선언하는 함수이며,
부모객체의 포인터로 자식개체의 함수를 불러올 수 있게 해줍니다.
보통의 멤버함수는 자식 클래스에서 오버라이딩을 하더라도
부모 객체의 포인터에서 호출하면 부모클래스의 함수가 호출되게 됩니다.
가상함수는 자식클래스가 오버로딩을 한 경우 자식클래스의 함수가 불려집니다.
///////////////////////////////////////////////////////////////////////
순수가상함수는 함수의 원형만 있고 구현은 없는 가상함수를 말합니다.
virtual int myclassfunc(int a, int b) = 0; 처럼 함수 원형에 "= 0"을 붙여서 만듭니다.
그리고 순수가상함수를 가진 클래스를 추상클래스라고 합니다.
추상클래스는 순수가상함수 때문에 객체를 만들 수 없습니다.
'c++' 카테고리의 다른 글
c++ quiz3 (0) | 2012.09.27 |
---|---|
c++ strategy 패턴 (0) | 2012.09.27 |
Quiz2 (0) | 2012.09.26 |
c++ struct와 class의 차이점...????? (0) | 2012.09.25 |
다형성과 tr1::shared_ptr을 이용한 벡터 사용 (0) | 2012.09.25 |