C++, 11. 상속

이도현·2023년 8월 9일
0

1. 유도된 클래스

  • 자 클래스만 호출해도 디폴트로 모 클래스가 호출되고 나오고 자클래스가 호출 된다.

  • 자클래스의 크기는 모클래스 + 자클래스를 다 담을 크기이다.

  • Destructor ~를 사용한다면 제일 자클래스부터 소멸된다.

2. 접근지정자

  • public은 어디서든 쓸 수 있고

  • protected는 자 클래스에만 쓸수 있고

  • private 은 클래스 밖에서 건들 수 없다.

접근지정자는 자클래스에서 변경할 수도 있다. ex) private: using Base::print

모클래스에서 쓰는 것을 자클래스에서 ex) private: void print() = delete; 해주면 자클래스에서 이를 못쓰게 됨.

3. 상속과 오버라이딩

  • 모클래스와 자클래스에 각각에 속한 함수가 함수명은 같지만 기능은 약간 다른 경우 사용하는 것이다.

4. 다중상속

두 개 이상의 클래스에서 상속 받는 것.
생성자 형성하는 것이 불편하긴 함.

두 모클래스의 같은 이름의 함수가 있으면 어디서 상속받았는지 명시해주기만 하면 된다. ex) Base::print

  • 위 그림은 다이아몬드 상속이라고 불리며 C가 A 또는 A모다 많은양을 포함하게 된다. 문제가 많이 발생할 수 있지만 다형성을 통해 해결할 수 있다.

정리

https://github.com/DoHyeonCP/Cpp_Study/blob/main/%EC%83%81%EC%86%8D%20%EC%8B%AC%ED%99%94.md

profile
좋은 지식 나누어요

0개의 댓글