[C++] 생성자에서 virtual 가상 함수 호출하는 경우의 문제
·
개발/C, C++
오늘은 생성자에서 가상함수를 호출하는 경우에 무엇이 문제가 되는지 알아보도록 하겠습니다. 생성자에서 virtual 가상 함수 호출하는 경우의 문제 이론적인 내용 C++ 생성자에서 가상 함수를 호출하는 것은 조심해야 하는 상황입니다. 가상 함수 호출은 객체의 실제 타입에 따라 동적으로 호출되는데, 생성자에서 가상 함수를 호출하면 예상치 못한 동작이 발생할 수 있습니다. C++에서 객체의 생성 과정은 다음과 같습니다: - 메모리 할당 - 기본 클래스의 생성자 호출 - 파생 클래스의 생성자 호출 가상 함수 호출은 객체의 실제 타입에 따라 동적으로 결정되는데, 생성자의 경우 파생 클래스의 생성자가 호출되기 전에 기본 클래스의 생성자가 호출되므로 파생 클래스의 가상 함수는 아직 초기화되지 않은 상태일 수 있습니다..