포인터 멤버 변수 사용 예시 복사를 알아보기 전에 포인터를 멤버 변수로 가지는 경우를 살펴본다. class Pet { }; class RabbitPet : public Pet { }; class Knight { public: Knight() { // Knight 와 Pet 의 생명 주기를 동일하게 한다. _pet = new Pet(); } ~Knight() { delete _pet; } public: int _hp = 100; Pet* _pet; }; Knight 클래스에 있는 멤버 변수 _pet을 왜 포인터로 설정했냐면, Pet 클래스를 상속받는 자식 클래스도 담고 싶고 Knight 클래스와 독립적인 객체임을 표현하고 싶기 때문이다. 기본 멤버 변수로 _pet을 설정하면 Knight 객체가 사라지면, ..