Destructor
소멸자!
생성된 객체가 소멸될때 동작한다
소멸자는 상속 받을 시 virtual 키워드를 지정하지 않으면 부모의 소멸자만 작동한다
class Pokemon {
public:
Flyable* flyalbe;
Pokemon() {}
Pokemon(Flyable* flyable) {
this->flyalbe = flyable;
}
virtual ~Pokemon() {
cout << "Pokemon died\n";
delete flyalbe;
flyalbe = nullptr;
}
};
class Pika :public Pokemon {
public:
Pika() {};
Pika(Flyable* flyable) {
this->flyalbe = flyable;
}
~Pika() {
cout << "pikachu died\n";
}
};
virtual 키워드를 추가시 subclass -> superclass 순서로 소멸자가 작동한다
'C++' 카테고리의 다른 글
메모리 누수-Memory Leak (0) | 2024.09.09 |
---|