virtual

파생 클래스에서 재정의 될 수 있다고 알려주는 키워드

 

 

기본 사용

함수 앞에 virtual 키워드를 통해 사용할 수 있다.

 

 

virtual 없는 경우 

함수 앞에 virtual이 없어도 상위 함수를 호출할 수 있다.

 

 

재정의

하위 클래스에서 함수를 재정의 할 수 있다.

 

 

하위클래스 virtual

하위 클래스에 virtual 키워드를 통해 명시적으로 표현할 수 있다.

 

 

하위클래스 override

override 키워드를 통해 명시적으로

재정의 했다고 알려줄 수 있다.

 

 

virtual과 override

override 키워드를 사용했을 경우에는

virtual 키워드가 필요하다

 

 

정적바인딩

상위클래스 포인터형으로 저장된 하위클래스는

상위클래스 함수 호출

 

 

동적바인딩

상위클래스 포인터형으로 저장된 하위클래스는

가상함수테이블을 통해 하위클래스 함수 호출

 

 

형변환 연산자

정상적으로 형변환 되어 작동한다.

 

 

dynamic_cast

virtual 키워드가 없을 경우 dynamic_cast 불가능

 

 

가상 함수

가상함수 선언시 반드시 재정의 해주어야 한다.

 

재정의 시 정상적으로 작동하게 된다.

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

[C++] friend  (0) 2023.05.18
[C++] constexpr  (0) 2023.05.16
[C++] 참조자  (0) 2023.05.15
[C++] const  (0) 2023.05.13
[C++] 복사대입연산자  (0) 2023.05.12

+ Recent posts