Player p=p1 -> 복사 생성자, const Player& p / 복사와 생성이 한번에 이루어짐
Player p2 -> 기본 생성자
p2=p1 -> 기본 생성자
*인자즐 한개만 받는 기타 생성자를 타입 변환 생성자라고도 한다.
float f=(float)num -> 명시적 형변환
float f = num ->암시적 형변환
Player p; / Player(int id)
p=1 -> 타입 변환 생성자로 인해 가능하다. (암시적 형변환)
-> 암시적 부분은 오류 발생 가능
객체지향 (OOP , Object Orited Programming)
-상속성
-은닉성
-다형성
-- 3대 속성--
상속: Warrior : public Player
Player 멤버 변수 -> id 4바이트
Warrior 멤버 변수 -> hp,atk 8바이트
상속 재정의 가능 -> if Player::Attack , Warrior::Attack -> 워리어 어택이 실행
부모의 함수를 실행하고 싶으면 Warrior.Player::Move();
생성자와 소멸자 의 순서
Player() 1번, Warrior() 2번
~Warrior 3번 ~Player 4번
Warrior 를 생성하면 Player 생성자 소멸자도 호출된다.
일단 Player가 선처리 영역에서 생성자가 호출되고 그다음 Warrior 생성자가 호출된다. 그다음 Warrior의 소멸자 -> Player 소멸자 호출(후처리 영역)
기타 생성자 일 경우
Player(int id){_id=id} / Warrior(int hp) { _hp=hp}
-> Warrior(100) 실행시 선처리 영역에서 Player() 기본 생성자 호출 만약 기본 생성자가 아닌 부모님의 다른 기타 생성자를 호출 하고 싶다면/
Warrior(int hp) : Player(100) -> {Player(int hp)} 이런식으로 생성을 하면 된다.
'c++' 카테고리의 다른 글
C++ 개인 필기(10) 초기화 리스트 (0) | 2024.02.06 |
---|---|
C++ 개인 필기(9) 은닉성 다형성 (0) | 2024.02.01 |
C++ 개인 필기(7) 생성자 소멸자 (1) | 2024.01.26 |
C++ 개인 필기(6) 다중 포인터 및 배열 (2) | 2024.01.25 |
C++ 개인 필기(5) 포인터 및 참조 (0) | 2024.01.24 |