반응형
- 소멸자 virtual을 쓰는 이유는?
상속하고 있는 클래스를 타입이 다른 포인터로 소멸할때 virtual이 없으면 오버라이딩 현상이 적용되지 않아
메모리 해제에 있어 메모리 누수(leak) 발생
class classA{
public:
classA();
virtual ~classA();
};
- 호출순서로 확인할 수 있는 이유
생성자 호출 순서 ( 1.부모 → 2.자식 )
소멸자 호출 순서 ( 1.자식 → 2.부모 )
부모클래스로 소멸자를 호출하였을때 자식클래스의 소멸자가 호출되지 않는 사태를 막기 위해 사용
클래스 상속 , 동적할당시 반드시 사용 할 것을 권장
생성자 참고
https://coding-house.tistory.com/28
반응형
'C & C++ > C++' 카테고리의 다른 글
[C++] virtual 가상함수 (생성자) (0) | 2019.11.06 |
---|---|
[C++] 바인딩 (정적 바인딩 & 동적 바인딩) (0) | 2019.11.05 |
[C++] 생성자&소멸자의 오버로딩/오버라이딩 (0) | 2019.11.05 |
[C++] 구조체/클래스 차이 (0) | 2019.11.05 |
[C++] 구조체 사용 방법 및 C와 C++의 구조체 차이 (0) | 2019.11.05 |