C++ Rookiss Part1 C++ 프로그래밍 입문 : 상속성 복습
🙇♀️상속성 복습
- 객체지향 (OOP Object Oriented Programing)
- 상속성
- 은닉성
- 다형성
🪐생성자와 소멸자 복습
class Player
{
public:
void Move() { cout << "Player Move() 호출" << endl; }
void Attack() { cout << "Player Attack() 호출" << endl; }
void Die() { cout << "Player Die() 호출" << endl; }
public:
int _hp;
int _attack;
int _defence;
};
class Knight : Public Player // 상속 받기
{
public:
public:
int _stamina;
};
- 부모의 함수를 재정의 하고 싶다면?
void Move() { cout << "Knight Move() 호출" << endl; }
처럼 그냥 정의하면 됨
그렇다고 해서 부모의 함수를 아예 못쓰는 것은 아니고 Player::Move()
로 부모님 함수를 쓰면 된다.
- 상속에서의 생성자와 소멸자
부모의 생성자 호출 -> 자식의 생성자 호출 -> 자식의 소멸자 호출 -> 부모의 소멸자 호출
기본적으론 부모의 기본 생성자가 호출 되는데 ` : 부모생성자`로 지정 할 수 있다
Knight(int stamina) : Player(100) // 기타 부모 생성자를 상속받는다
/*
선(먼저)처리 영역
- 여기서 Player(int hp) 생성자를 호출
*/
{
_stamina = stamina;
cout << "Knight(int stamina) 생성자 호출" << endl;
}