🙇‍♀️상속성 복습


  • 객체지향 (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;
};
  1. 부모의 함수를 재정의 하고 싶다면?

void Move() { cout << "Knight Move() 호출" << endl; }처럼 그냥 정의하면 됨

그렇다고 해서 부모의 함수를 아예 못쓰는 것은 아니고 Player::Move()로 부모님 함수를 쓰면 된다.

  1. 상속에서의 생성자와 소멸자

부모의 생성자 호출 -> 자식의 생성자 호출 -> 자식의 소멸자 호출 -> 부모의 소멸자 호출

기본적으론 부모의 기본 생성자가 호출 되는데 ` : 부모생성자`로 지정 할 수 있다

Knight(int stamina) : Player(100) // 기타 부모 생성자를 상속받는다
	/*
	선(먼저)처리 영역
	- 여기서 Player(int hp) 생성자를 호출
	*/
{
	_stamina = stamina;
	cout << "Knight(int stamina) 생성자 호출" << endl;
}


태그:

카테고리:

업데이트: