프로그래밍/C++

#65. enum class & override & final

코딩하는상후니 2022. 7. 22. 22:34

 


 

*enum class ( scoped enum )
1. 이름공간 관리 ( scoped )
2. 암묵적인 변환 금지
 
 
 
*enum
enum PlayerType : short
{
	None
	PT_Knight = 5,
	PT_Archer,
	PT_Mage,
};

enum MonsterType
{
	None  // => 재정의 에러
}

double value = PT_Knight;
 
=> 전역으로 퍼짐.
=> 이름 재정의 문제
=> 암묵적 변환 가능.

 

 


 

*override
 
 
virtual void Attack() override;
virtual void Attack() const => OK => virtual 함수인지 알기 어렵다.
 
=> override 를 붙이면 기존 부모 virtual 함수를 제거했을 때,
컴파일러가 ERROR 표시 반환.
 
 
=> virtual  /  override 키워드를 되도록 붙이자. ( 코드 안정성  /  가독성 )

 


 

*final
=> 자손들에게 더 이상 override 를 해주지 않겠다.
 

 

본 내용은 인프런의 루키스님 강의를 듣고 정리한 내용입니다.

'프로그래밍 > C++' 카테고리의 다른 글

#67. 전달 참조 ( forwarding reference )  (0) 2022.07.22
#66. 오른값참조 ( rvalue reference )  (0) 2022.07.22
#64. using  (0) 2022.07.22
#63. nullptr  (0) 2022.07.22
#62. auto  (0) 2022.07.22