본문 바로가기
42Seoul/cpp_module

CPP Module 03

by 하고싶은건많은놈 2023. 2. 22.

Exercise 00 : Aaaaand... OPEN!

과제의 요구사항대로 구현한다면 특별히 서술할만한 내용은 없음


Exercise 01 : Serena, my love!

클래스의 상속에서, 자식 클래스는 부모 클래스의 멤버들을 이어받아 사용하게됨

  • 부모 클래스의 private 멤버는 외부 및 자식 클래스에서 직접 사용할 수 없음
  • 부모 클래스의 protected 멤버는 자식 클래스에서는 직접 사용할 수 있으나, 외부에서는 여전히 사용할 수 없음
  • 부모 클래스와 자식 클래스에 같은 이름과 원형의 멤버함수가 존재하는 경우 함수의 재정의가 필요
    • 부모 클래스에서 해당 함수를 virtual로 선언
    • 자식 클래스에서는 새롭게 정의를 만들어 사용
  • 상속을 사용할 경우, 소멸자는 항상 virtual로 선언 : 그렇지 않으면 부모의 소멸자만이 호출되기 때문

Exercise 02 : Repetitive work

Exercise 01과 동일한 과제


Exercise 03 : Now it's weird!

다중 상속의 경우, 부모 클래스끼리 같은 조부모 클래스를 상속받는 경우가 존재
이 경우 중복되어 상속받는 문제가 발생하기 때문에 부모 클래스에서 virtual 키워드를 사용하여 조부모를 가상 기초 클래스로 선언

상속받은 클래스들에 같은 메소드가 존재할시 모호한 호출을 막기 위해 사용 범위 연산 결정자(::)를 사용
다중 상속에 관해 정리해놓은 내용 - 14.3 참고

'42Seoul > cpp_module' 카테고리의 다른 글

CPP Module 05  (0) 2023.02.22
CPP Module 04  (0) 2023.02.22
CPP Module 02  (0) 2023.02.22
CPP Module 01  (0) 2023.02.22
CPP Module 00  (0) 2023.02.22

댓글