C++/Class
2021. 3. 19. 19:49
유도된 클래스들의 소멸 순서
말단(자식)부터 소멸된다고 생각하면 된다.
#include <iostream> class A { public: A(int a = 1024) { std::cout << "A : " << a << std::endl; } ~A() { std::cout << "Destructor A" << std::endl; } }; class B : public A { public: B(double b = 3.14) { std::cout << "B : " << b << std::endl; } ~B() { std::cout << "Destructor B" << std::endl; } }; class C : public B { public: C(char c) { std::cout << "C : " << c << std::endl; } ~C() { std::cout << "Destructor C" << std::endl; } }; int main() { using namespace std; C c('a'); } /* stdout A : 1024 B : 3.14 C : a Destructor C Destructor B Destructor A */
'C++ > Class' 카테고리의 다른 글
C++ 상속과 접근 지정자 (0) | 2021.03.20 |
---|---|
C++ 상속과 패딩 (0) | 2021.03.20 |
C++ 유도된 클래스들의 생성 순서 (0) | 2021.03.19 |
C++ 상속 Teacher-Student 예제 (0) | 2021.03.19 |
C++ 상속 기본 예제 (0) | 2021.03.19 |