
原始問題:如何定義表示介面的類別?
擴充答案: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中文網其他相關文章!