C에는 가상 생성자가 있나요?
다른 언어와 달리 C에는 가상 생성자가 없습니다. 이로 인해 다음과 같은 질문이 제기되었습니다.
창조주가 직접 답변
C의 아버지인 Bjarne Stroustrup이 통찰력 있는 설명을 제공합니다.
"가상 호출은 부분적인 정보를 바탕으로 작업을 완료하는 메커니즘입니다. [...] 객체를 생성하려면 완전한 정보가 필요합니다. [...] 결과적으로, 생성자에 대한 호출은 가상일 수 없습니다."
개념 이해
본질적으로 가상 함수는 동적 바인딩을 허용하므로 코드가 다양한 유형의 개체와 상호 작용할 수 있습니다. 정확한 수업을 알지 못한 채. 그러나 객체를 생성하려면 인스턴스화할 유형에 대한 정확한 정보가 필요하므로 가상 생성자를 개념적으로 불가능하게 만듭니다.
대체 접근 방식
가상 생성자 C는 유사한 기능을 달성하기 위한 대체 접근 방식을 제공합니다. Stroustrup의 FAQ 항목은 가상 생성자 없이 원하는 동작을 달성하는 방법을 보여주는 이러한 솔루션에 대한 코드를 제공합니다.
위 내용은 C에는 왜 가상 생성자가 없나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!