class Player
{
public:
Player() { cout << "Player()" << endl; }
virtual ~Player() { cout << "~Player()" << endl; }
}; // pch.h
class Knight : public Player
{
public:
Knight() { cout << "Knight()" << endl; }
virtual ~Knight() { cout << "~Knight()" << endl; }
}; // pch.h
int main()
{
#pragma region 동적 할당 C언어
// 생성자 소멸자 생성여부 X
void* ptr = malloc(sizeof(Player));
Player* player = (Player*)ptr;
free(ptr);
#pragma endregion
}
int main()
{
#pragma region 동적 할당 C++
// new delete - 생성자 소멸자 사용
Player* player = new Player();
delete player; // 메모리 leak이 일어 날 수 있으므로 delete
player = nullptr; // 삭제를 했어도 기존 값을 사용하면 메모리 오염 - 재사용 하지 못하게 nullptr
#pragma endregion
}