상속을 통해 C 표준 라이브러리 확장
접근하기 어려운 상속의 보루로 널리 알려진 C 표준 라이브러리에는 내부에 숨겨진 예외가 숨어 있습니다. 그 계급. std::Exception 클래스는 확장을 위해 명시적으로 설계된 유일한 엔터티로서 단독으로 사용됩니다.
다른 표준 라이브러리 클래스를 확장할 수 있습니까?
확실한 목록은 없지만 대답은 표준의 의도를 해석하는 데 달려 있습니다. 실용적인 접근 방식에는 다음 기준을 자세히 조사하는 것이 포함됩니다.
의미 표준 라이브러리 클래스의 상속
std::Exception 확장은 또 다른 문제를 강조합니다.
인터페이스 기대 준수
표준 라이브러리 클래스에서는 상속된 인터페이스를 존중해야 합니다. 예를 들어 유효한 설명 대신 null 포인터를 반환하도록 what() 멤버 함수를 변경하는 하위 클래스는 ISO 표준에 지정된 인터페이스를 위반하는 것입니다. 엄밀히 말하면 표준 적합성 문제는 아니지만 정확성이 손상되고 기본 클래스에 대한 대체 원칙이 훼손됩니다.
위 내용은 `std::Exception` 이상으로 C 표준 라이브러리의 다른 클래스를 확장할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!