>  기사  >  백엔드 개발  >  C에서 개인 가상 메소드를 선언하는 이유는 무엇입니까?

C에서 개인 가상 메소드를 선언하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-24 14:09:31577검색

Why Declare Private Virtual Methods in C  ?

C에서 프라이빗 가상 메서드 만들기

왜 C에서 프라이빗 메서드가 virtual로 선언되는지 궁금할 수도 있습니다. 오픈 소스 프로젝트의 예는 이를 보여줍니다.

<code class="cpp">class HTMLDocument : public Document, public CachedResourceClient {
private:
    virtual bool childAllowed(Node*);
    virtual PassRefPtr<Element> createElement(const AtomicString& tagName, ExceptionCode&);
};</code>

이것의 장점을 이해하기 위해 Herb Sutter의 통찰력을 참조합니다.

지침 #2: 개인 가상 기능 선호

Sutter에 따르면 가상 함수는 비공개로 선언되어야 합니다. 이를 통해 파생 클래스는 단순히 보호된 경우처럼 함수를 직접 노출하지 않고도 사용자 정의를 위해 이러한 함수를 재정의할 수 있습니다.

가상 함수는 파생 클래스 코드에서 직접 호출되는 것이 아니라 유연성을 제공하기 위한 것입니다. 따라서 직접 호출이 특별히 필요한 경우가 아니라면 가상 기능에 대한 액세스 수준은 비공개가 가장 적합합니다.

위 내용은 C에서 개인 가상 메소드를 선언하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.