*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 |