
C에서 인터페이스 선언
질문:
C에서 인터페이스를 나타내는 클래스를 어떻게 정의할 수 있나요? 이것이 추상 기본 클래스를 통해 달성됩니까?
답변:
예, C의 인터페이스는 추상 기본 클래스로 정의될 수 있습니다. 인터페이스를 생성하려면:
-
순수 추상 클래스 선언: 이 클래스에는 구현이 없는 순수 가상 메서드만 포함되어야 합니다. 메서드는 자리 표시자 역할을 하며 파생 클래스가 메서드를 구현하도록 강제합니다.
class IDemo {
public:
virtual void OverrideMe() = 0;
};
로그인 후 복사
-
파생 클래스: 인터페이스에서 상속되는 클래스는 모든 순수 가상 메서드를 구현해야 합니다. 이는 인터페이스의 구체적인 구현을 제공합니다.
class Child : public IDemo {
public:
virtual void OverrideMe() {
// Implement the method here
}
};
로그인 후 복사
-
가상 소멸자(선택 사항): 인터페이스에 가상 소멸자를 추가하는 것이 좋습니다. 이를 통해 구체적인 파생 클래스를 노출하지 않고도 안전한 포인터 소유권 이전이 가능합니다.
class IDemo {
public:
virtual ~IDemo() {}
virtual void OverrideMe() = 0;
};
로그인 후 복사
추가 참고 사항:
- 다른 언어와 달리 C 인터페이스 다중 상속을 지원하지 않습니다.
- 인터페이스에 콘크리트가 없으므로 소멸자에는 본문이 필요하지 않습니다.
- 일부 컴파일러에서는 빈 가상 소멸자에 문제가 있을 수 있으므로 본문을 포함하지 않는 것이 좋습니다.
- 소멸자에 가상 함수와 인라인 함수를 함께 사용하는 것은 허용됩니다.
위 내용은 추상 기본 클래스를 사용하여 C에서 인터페이스를 어떻게 정의하고 구현합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!