상속을 통해 C 표준 라이브러리 확장
일반적인 인식은 C 표준 라이브러리가 상속을 통해 확장되지 않는다는 것입니다. 그러나 std::Exception의 존재는 이러한 개념에 도전합니다. 따라서 다음과 같은 질문이 생깁니다.
표준 라이브러리 클래스를 상속으로 확장할 수 있습니까?
std::Exception 외에 다른 표준 라이브러리 클래스가 무엇인지 명확하지 않습니다. 상속을 목적으로 합니다. 적합한 후보를 결정하는 실용적인 접근 방식은 다음과 같습니다.
표준 라이브러리 클래스 상속의 의미
std::Exception과 같은 표준 라이브러리 클래스에서 상속할 때 하위 클래스가 원래 인터페이스를 준수해야 하는지 여부는 논쟁의 여지가 있습니다. 그러나 "Liskov 대체 원칙"(LSP)은 클라이언트에 관한 한 하위 클래스의 동작이 기본 클래스의 동작과 일관되어야 한다고 제안합니다.
따라서 다음을 수행하는 것이 모범 사례로 간주됩니다. 표준에서 std::Exception의 하위 클래스에 대해 이를 명시적으로 요구하지 않더라도 하위 클래스의 what() 멤버 함수가 null이 아닌 포인터를 반환하는지 확인하세요.
위 내용은 상속을 통해 C 표준 라이브러리를 확장할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!