有希
C++/순수 가상 함수 본문
게임에서 플레이어가 캐릭터를 고른다고 하면
이 녀석들의 토대인 Character 라는 클래스가 있을 것이고
이를 상속받은 거너, 법사, 격투가 등의 클래스가 있을 것이다.
그런데, 플레이어가 Character라는 클래스를 선?택 한다는 일은 있을 수 없다. 반드시 하위 클래스들 중 1개를 선택하여 플레이해야 하므로 Character라는 녀석을 인스턴스화 시킬 수 없도록 해야한다.
이를 위한 것이 순수 가상 함수 이다.
함수를 다음과 같이 선언한다.
virtual 반환형 함수명(매개변수) = 0;
이렇게 하면 순수 가상 함수가 포함된 클래스는 추상 클래스가 된다.
Character 자체로는 구현될 수 없고, 상속받은 녀석(거너)이 순수 가상함수들을 모두 재정의 하고 나서야 거너를 생성할 수 있게 된다.
'프로그래밍 > C++' 카테고리의 다른 글
C++/malloc(free) vs new(delete) (0) | 2022.01.28 |
---|---|
C++/메모리 구조 (0) | 2022.01.28 |
C++/바인딩(Binding) (0) | 2022.01.28 |
C++/객체지향 3대 특징 (0) | 2022.01.28 |
C++/문자열 관련 함수 4총사 (0) | 2022.01.28 |