관리 메뉴

有希

C++/순수 가상 함수 본문

프로그래밍/C++

C++/순수 가상 함수

有希. 2022. 1. 28. 17:19

게임에서 플레이어가 캐릭터를 고른다고 하면

이 녀석들의 토대인 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