C++ 디자인패턴 생성자, 소멸자 흐름과 관계 그리고 가상함수 (virtual)


C++ 디자인패턴 생성자, 소멸자 흐름과 관계 그리고 가상함수 (virtual)

안녕하세요. SW 개발자 쪼맹 입니다. 오늘은 생성자, 소멸자에 대해서 알아보고자 합니다. 부모 클래스 (기반 클래스) 와 자식 클래스 (파생 클래스) 구조에서 생성자와 소멸자 흐름과 관계를 알아보고자 합니다. 아래처럼 가장 기본적인 소스 코드를 구성하면 부모 생성자 --> 자식 생성자 --> 자식 소멸자 --> 부모 소멸자 순으로 수행 됩니다. [부모 클래스 (기반 클래스)] [자식 클래스 (파생 클래스)] [수행 결과1] [수행 결과2] C++ 컴파일러는 자식 클래스 에서 생성자를 호출하면 부모 클래스의 생성자를 무조건 호출하게 됩니다. 즉, Child() 코드가 Child() : Parent() 로 변경되게 됩니다. 여기서 기본적으로 부모 클래스에 생성자가 없다면 생성자를 만들어 주지만 만약 아래 처럼 인자를 받은 생성자만 있다면 에러가 발생 합니다. 생성자가 있으니 만들어주지 않은데 인자가 있는 생성자만 있고 인자가 없는 기본 생성자는 없기 때문이죠. 만약 기본 생성자 없이 ...


#virtual #파생클래스 #자식클래스 #소멸자 #생성자 #부모클래스 #디자인패턴 #기반클래스 #규칙 #가상함수 #흐름

원문링크 : C++ 디자인패턴 생성자, 소멸자 흐름과 관계 그리고 가상함수 (virtual)