C에서는 ABC(추상 기본 클래스)를 사용하여 인터페이스를 선언할 수 있습니다. ABC는 하나 이상의 순수 가상 메서드가 있는 클래스입니다. 순수 가상 메서드는 키워드 = 0으로 선언된 메서드입니다.
class IDemo { public: virtual ~IDemo() {} virtual void OverrideMe() = 0; };
위의 예에서 IDemo는 OverrideMe라는 순수 가상 메서드가 포함된 ABC입니다. IDemo에서 상속되는 모든 클래스는 OverrideMe에 대한 구현을 정의해야 합니다. 그렇지 않으면 IDemo를 사용하여 다양한 구체적인 클래스로 구현할 수 있는 인터페이스를 나타낼 수 있습니다.
class Parent { public: virtual ~Parent(); }; class Child : public Parent, public IDemo { public: virtual void OverrideMe() { // Do stuff } };
인터페이스의 순수 가상 메서드 목록에 대한 예외는 가상 소멸자를 추가하는 것입니다. 이를 통해 구체적인 파생 클래스를 노출하지 않고도 포인터 소유권을 다른 당사자에게 전달할 수 있습니다. 인터페이스에는 구체적인 멤버가 없으므로 소멸자는 아무 작업도 수행할 필요가 없습니다.
class IDemo { public: virtual ~IDemo() {} virtual void OverrideMe() = 0; };
결론적으로 인터페이스는 클래스의 추상 속성과 메서드를 나타내는 데 사용할 수 있습니다. 순수 가상 메서드를 사용하여 ABC를 생성하면 ABC에서 상속받는 모든 클래스가 인터페이스 메서드에 대한 구현을 정의해야 함을 확인할 수 있습니다. 또한 인터페이스에 가상 소멸자를 추가하면 안전한 포인터 소유권 이전이 가능해집니다.
위 내용은 추상 기본 클래스를 사용하여 C에서 인터페이스를 어떻게 정의합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!