해당 객체가 존재한다는 표시 용도
보통 해당 객체 내에 객체를 사용 시 포인터로 주소를 받게 되는데 이 때 사용
@해당 객체는 몇 바이트인가 ?? <<= 질문에 답이 가능하면 가능. (설계도완성)
#include "Monster.h"
class Player
{
public:
int _hp = 0;
int _attack = 10;
Monster m1;
};
Player p1;
=> Player 클래스의 크기를 알기 위해선 Monster.h 추가해주어야 함.
*반대로 Monster* 를 들고 있다면 ??
=> 헤더 추가가 필요 없다! why ??
Monster 가 어떤 데이터를 가지고 있는지 몰라도 Player 에서는 Monster* 를 저장하기 때문에
임시적으로 class Monster 를 적어두는 표시해두고
포인터 (주소받는곳,4/8바이트 고정크기 ) 를 선언해 Monster 객체의 주소를 받는다.
결국, 불필요한 헤더파일 추가를 피할 수 있다.
class Monster;
class Player
{
public:
int _hp = 0;
int _attack = 10;
Monster* m1;
};
본 내용은 인프런의 루키스님 강의를 듣고 정리한 내용입니다.
'프로그래밍 > C++' 카테고리의 다른 글
#51. 함수 객체 (0) | 2022.07.20 |
---|---|
#50. 함수 포인터 (0) | 2022.07.20 |
#48. C++ 캐스팅 (0) | 2022.07.20 |
#47. 깊은 복사 & 얕은 복사 (0) | 2022.07.20 |
#46. 타입변환 (0) | 2022.07.20 |