原始問題:如何定義表示介面的類別?
擴充答案: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() override { // Custom implementation } };
在此範例中,Parent 和 Child繼承自 IDemo,Child 為 OverrideMe 函數提供了具體的實作。
請注意,雖然定義一個虛函數看起來不太常見作為內聯,這種做法通常被認為是安全的並且有利於最佳化。
以上是如何用 C 語言定義和實作介面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!