在 C 中,可以使用抽象基底類別 (ABC) 宣告介面。 ABC 是至少有一個純虛方法的類別。純虛方法是用關鍵字 = 0 宣告的方法。
class IDemo { public: virtual ~IDemo() {} virtual void OverrideMe() = 0; };
在上面的範例中,IDemo 是一個 ABC,具有名為 OverrideMe 的純虛方法。任何繼承自 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,您可以確保從它繼承的任何類別都必須定義介面方法的實作。此外,向介面新增虛擬析構函數可以實現安全的指標所有權轉移。
以上是如何使用抽象基底類別在 C 中定義介面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!