노력과 삽질 퇴적물

가상함수 & 추상클래스 본문

프로그래밍note/언어. C&C++ 계열

가상함수 & 추상클래스

알 수 없는 사용자 2011. 7. 26. 23:42
=> virtual키워드(예약어)를 함수선언시 맨앞에 붙인다.
=> 추상클래스: 클래스 선언부에 순수가상함수가 1개 이상 있는 클래스. 객체생성 불가.
=> 동적바인딩 

class parrentClass
{
     public:
          virtual 반환타입 함수1(...인수...);           //가상함수
          virtual 반환타입 함수2(...인수...) = 0; //순수가상함수. 해당클래스를 자동으로 추상클래스
          ...;
};



class childClass1 : 액세스_지정자  parrentClass //<-상속
{
     public:
          반환타입 함수2(...인수...);
          ...;
};
void childClass1 :: 함수2(...인수...)
{
     //순수가상함수의 재정의. //<-다형성



class childClass2 : 액세스_지정자  parrentClass //<-상속
{
     public:
          반환타입 함수2(...인수...);
          ...;
};
void childClass2 :: 함수2(...인수...)
{
     //순수가상함수의 재정의. //<-다형성

=> OOP: 다형성OOP: 상속(or 계승)을 이용한 기법이라고 할수 있다.
    추상클래스를 상속받은 자식클래스는 반드시 순수가상함수부분을 재정의 해야하니깐.

'프로그래밍note > 언어. C&C++ 계열' 카테고리의 다른 글

CPP: 파일처리  (0) 2011.08.02
CPP: 함수관련 편리한(?) 예약어  (0) 2011.08.02
OOP: 상속(or 계승)  (0) 2011.07.25
생성자 & 소멸자  (0) 2011.07.25
OOP: 다형성  (2) 2011.07.23