묻공러
[MC++] override, final
묻공러
묻지마공부
묻공러
전체
오늘
어제
  • 분류 전체보기 (521) N
    • C (54)
      • [코드조선] C 핵심 (35)
      • [언어본색] C 기초 (19)
    • C++ (72)
      • [루키스] C++ (9)
      • [루키스] 콜백함수 (6)
      • [루키스] STL (8)
      • [루키스] Modern C++ (11)
      • [노코프] C++ (10)
      • [노코프] Tips (16)
      • [일지] C++ (12)
    • C# (20) N
      • [루키스] C# (9)
      • [루키스] 자료구조 (3) N
      • [루키스] 실전 문법 (8) N
    • 자료구조 & 알고리즘 (50)
      • [코드조선] C 자료구조 & 알고리즘 (6)
      • [합격자되기] C++ 코딩테스트 (12)
      • [루키스] C++ 자료구조 & 알고리즘 (32)
    • CS (69)
      • [널널한 개발자] CS 개론 (19)
      • [혼자 공부하는] 컴퓨터 구조 (16)
      • [혼자 공부하는] 운영체제 (18)
      • [널널한 개발자] 네트워크 (16)
    • 게임 그래픽스 (46)
      • [전북대] OpenGL (25)
      • [일지] DirectX (21)
    • 게임 엔진 - 언리얼 (123)
      • [코드조선] 언리얼 (53)
      • [코드조선] 언리얼 데디서버 (8)
      • [일지] 언리얼 (59)
      • [일지] 언리얼 (2) (3)
    • 게임 엔진 - 유니티 (14) N
      • [최적화] 유니티 (4)
      • [루키스] 유니티 (10) N
    • 게임 서버 (17)
    • 게임 수학 & 물리 (19)
      • 게임 수학 (12)
      • 게임 물리 (7)
    • GIT & GITHUB (4)
    • 영어 (18)
      • [The Outfit] 대본 공부 (11)
      • the others (7)
    • 그 외 (14)
      • In (5)
      • Out (5)
      • Review (4)

인기 글

최근 글

hELLO · Designed By 정상우.
C++/[루키스] Modern C++

[MC++] override, final

2023. 7. 1. 22:21

여기서 잠깐,

오버로딩은 함수 이름의 재정의 ex. 인자의 타입 및 개수에 따라 같은 이름의 함수를 재정의

오버라이딩은 상속관계의 클래스 내에서 함수 재정의 ex. Player 클래스의 Attack 함수, Knight 클래스의 Attack 함수

 

아래와 같이 가상함수를 오버라이드 하는 경우

override를 붙여줌으로써

오버라이드된 함수라는 사실을 가독성 측면에서 증가시킨다

맨 처음 가상함수를 정의하는 부모 클래스에는 override를 붙일 수 없으며

이를 받는 자식들의 가상함수에 override를 붙인다

class Creature
{
public:
	virtual void Attack() { }
}

class Player : public Creature
{
public:
	virtual void Attack() override { }
}

 

추가적으로,

아래와 같이 final을 붙여주면 본인을 상속받는 다른 자식들은 

해당 함수를 override 할 수 없게 된다

class Creature
{
public:
	virtual void Attack() { }
}

class Player : public Creature
{
public:
	virtual void Attack() final { }
}

class Knight : public Player
{
public:
	//vitual void Attack() override// 불가능
}
저작자표시 비영리 변경금지 (새창열림)

'C++ > [루키스] Modern C++' 카테고리의 다른 글

[MC++] 전달 참조 (Forwarding reference)  (0) 2023.07.02
[MC++] 오른 값 참조 (Rvalue reference)와 std::move  (0) 2023.07.02
[MC++] delete  (0) 2023.07.01
[MC++] enum class  (0) 2023.06.30
[MC++] using  (0) 2023.06.29
'C++/[루키스] Modern C++' 카테고리의 다른 글
  • [MC++] 전달 참조 (Forwarding reference)
  • [MC++] 오른 값 참조 (Rvalue reference)와 std::move
  • [MC++] delete
  • [MC++] enum class
묻공러
묻공러
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.