From 84d01a49bb99cc2c2ec9b9dd33432b6811d262d9 Mon Sep 17 00:00:00 2001 From: gehfand729 <63352794+gehfand729@users.noreply.github.com> Date: Sun, 9 Aug 2020 19:51:45 +0900 Subject: [PATCH 1/2] virtual destructor.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 가상 소멸자입니다 --- Polymorphism/virtual destructor.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Polymorphism/virtual destructor.md b/Polymorphism/virtual destructor.md index 2ff773bd..00d3d51b 100644 --- a/Polymorphism/virtual destructor.md +++ b/Polymorphism/virtual destructor.md @@ -88,3 +88,4 @@ int main() { Child 소멸자 `` 자식 클래스를 가진 클래스라면 부모 클래스의 소멸자에 virtual을 붙여 가상 소멸자로 만드는 것이 좋다. 소멸자가 가상 함수라면 메모리 누수도 발생하지 않고 손해볼 게 없으나 가상 소멸자가 아니라면 손해볼 것이 많다. + From 4c504b94545b4af0d4665659a790de01203bee97 Mon Sep 17 00:00:00 2001 From: gehfand729 <63352794+gehfand729@users.noreply.github.com> Date: Sun, 9 Aug 2020 20:17:17 +0900 Subject: [PATCH 2/2] Update virtual destructor.md --- Polymorphism/virtual destructor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polymorphism/virtual destructor.md b/Polymorphism/virtual destructor.md index 00d3d51b..99134ca3 100644 --- a/Polymorphism/virtual destructor.md +++ b/Polymorphism/virtual destructor.md @@ -58,7 +58,7 @@ int main() { `` Parent 소멸자 `` -이 결과를 봤을 때 부모 클래스만 소멸되고 자식 클래스는 소멸이 되지 않은 모습이다. 그래서 `` 메모리 누수`` 가 발생하게 된다. 메모리 누수가 쌓이게 되면 `` 시스템에 부하가 갈수 있다. `` 이 문제를 해결하기 위해서 부모 클래스의 소멸자가 가상함수가 되어야한다. 부모 클래스의 소멸자 앞에 virtual을 붙이면 자동으로 자식 클래스의 소멸자들은 가상함수가 된다. +이 결과를 봤을 때 부모 클래스만 소멸되고 자식 클래스는 소멸이 되지 않은 모습이다. 그래서 ** 메모리 누수 ** 가 발생하게 된다. 메모리 누수가 쌓이게 되면 ** 시스템에 부하가 갈수 있다. ** 이 문제를 해결하기 위해서 부모 클래스의 소멸자가 가상함수가 되어야한다. 부모 클래스의 소멸자 앞에 virtual을 붙이면 자동으로 자식 클래스의 소멸자들은 가상함수가 된다. 다음은 가상 소멸자를 사용한 프로그램이다. ``` #include using namespace std;