상속하기
cpp의 상속 예시코드
cpp
class Student {
public:
std::string name;
student(name) : name(name) {}
}
class Inchoi : public Student {
public:
int class;
Inchoi(name, class) : Student(name), class(class) {}
}
- 상속은
:로 하면 된다. - 물론,
:기호는 초기화에 쓰이기도 한다.- 둘을 같이 엮어서 갈 수도 있긴 하다.
- 상위 클래스 초기화 → 이후 내 클래스 멤버 초기화
접근 제한자
접근 제한자의 종류
한 클래스에 선언된 함수와 멤버의 접근 권한을 조정하는 역할이다.
- public : 외부에서 접근 가능
- protected : 내부 + 상속된 클래스에서만 접근 가능
- private : 내부에서만 접근 가능
상속과 접근 제한자
cpp
class Student : public Human {...}
// Human의 public으로 선언된 멤버를 쓸 수 있음.
class Teacher : protected Human {...}
// Human의 public과 protected에 접근 가능.
class Admin : private Human {...}
// Human의 모든 것에 접근 가능
다중상속
mermaid
flowchart LR
a --> b & c--> d
부모 클래스가 2개 이상인 경우를 다중상속이라고 한다.
- 보통 다음과 같이 다아이몬드 모양으로 상속되는 경우가 많다.