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 |










































































































































