학습동아리 11차시

정민경·2022년 12월 6일
0

2022_학습동아리

목록 보기
11/12
post-thumbnail

- 활동 일시

일시 : 2022.12.05 (월) 18:00 ~ 20:00 (총 2시간)

- 오늘의 계획

  • 객체지향설계
    - Multiple inheritance

- 오늘의 활동

  • Multiple inheritance : 여러개의 부모 class를 상속받는 것.
class ClassName : AccessModifier ? ClassName, AccessModifier? ClassName ...

[ex] 부모 : Citizen, Employee / 자식 : Developer

class Developer : public Citizen, public Employee
  • Multiple inheritance class의 destructor 불리는 순서. (Virtual destructor)
    1) child class destructor
    2) last parent destructor -> ... -> first parent destructor

    위의 예시를 예로 들면
    Developer -> Employee -> Citizen 순서로 destructor 불림.

  • Diamond problem

    이러한 상황일 때 child class는 어느 부모의 name을 사용해야할지 compile이 정하지 못한다.
  • 상속받은 부모 class에 겹쳐 정의가 되어있어도 child에서 사용하지 않으면 error 발생X.
  • 하지만 child class에서 접근하면 compile error

  • 만약 상속받은 부모 class에 함수가 겹쳐서 정의가 되어있을 때 하나라도 virtual keyword, 즉 dynamic dispatch 함수라면 error 발생 X.

- 활동 소감

요즘 계속 과제하느라 공부를 못하고 있는데 이렇게 학습동아리활동을 하면서 2시간이라도 공부를 할 수 있어서 좋았다. 오늘로써 벌써 11번이나 활동을 했는데 정말 재밌었고, 남은 한번의 활동도 열심히 참여해야겠다.

0개의 댓글