>백엔드 개발 >C++ >추상 기본 클래스와 가상 소멸자를 사용하여 C에서 인터페이스를 어떻게 구현합니까?

추상 기본 클래스와 가상 소멸자를 사용하여 C에서 인터페이스를 어떻게 구현합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-21 18:40:11633검색

How Do I Implement Interfaces in C   Using Abstract Base Classes and Virtual Destructors?

C에서 인터페이스 구현

질문:
C에서 인터페이스를 나타내는 클래스를 어떻게 만들 수 있나요? ? 단순히 추상 기본 클래스인가요?

답변:

이전 응답자가 소개한 인터페이스 정의를 위한 순수 가상 메서드 개념을 넘어서 가상 클래스 추가를 고려해보세요. 믹스의 소멸자. 이를 통해 기본 구체적인 파생 클래스를 숨기면서 포인터의 소유권을 다른 당사자에게 전달할 수 있습니다. 직관에는 어긋나지만 함수를 가상과 인라인 모두로 선언하는 것은 허용됩니다.

class IDemo
{
public:
    virtual ~IDemo() {}
    virtual void OverrideMe() = 0;
};

class Parent
{
public:
    virtual ~Parent();
};

class Child : public Parent, public IDemo
{
public:
    virtual void OverrideMe()
    {
        // Implementation details
    }
};

명시적인 소멸자 본문은 선택 사항입니다. 일부 컴파일러는 빈 소멸자를 최적화하는 데 어려움을 겪으므로 일반적으로 기본 구현에 의존하는 것이 좋습니다.

위 내용은 추상 기본 클래스와 가상 소멸자를 사용하여 C에서 인터페이스를 어떻게 구현합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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