본문 바로가기

C++

[C++] 순수 가상 함수와 추상클래스 그리고 업캐스팅


순수 가상 함수 : 함수 헤더만 존재하고 함수의 몸체는 없는 함수

virtual 반환형 함수이름(매개변수 리스트) = 0;

(예) virtual void draw() = 0;

추상클래스 (abstract class): 순수 가상 함수를 하나라도 가지고 있다.
 - 객체화 할수없다
 - 선언형(부모)타입으로 갈수 있다.
 - 자식타입은 반드시 구현을 하여야 한다.

업캐스팅(Upcasting)

선언 : 부모클래스(추상클래스) 포인터변수/레퍼런스변수

생성 : 자식클래스 객체

Shape *ps = new Rectangle();
ps->draw();

'C++' 카테고리의 다른 글

[C++]Virtual에대한 중요한예제  (0) 2010.10.04
[C++]추상 클래스를 인터페이스로  (0) 2010.10.04
다형성 (Polymorphism)  (0) 2010.09.30
[C++]상속 & 포함관계  (0) 2010.09.30
[C++]생성자와 소멸자  (0) 2010.09.10