在 C 中實作介面
問題:
如何在 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() { // Implementation details } };
請注意,明確析構函數體是可選的。一些編譯器在優化空析構函數方面遇到了困難,因此通常最好依賴預設實作。
以上是如何使用抽象基底類別和虛擬析構函數在 C 中實作介面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!