
元の質問: インターフェイスを表すクラスを定義するにはどうすればよいですか?
展開された回答: C のインターフェイスは確かに抽象基本クラスです。ただし、考慮に値する例外が 1 つあります。
具体的な派生クラスを公開せずに適切な所有権の転送を保証するには、インターフェイスに仮想デストラクターを含めることをお勧めします。インターフェイスには特定のメンバーがないため、このデストラクターは実装する必要がありません。
コード例:
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
}
};この例では、親と子の両方がIDemo から継承し、Child は OverrideMe 関数の具体的な実装を提供します。
仮想関数を定義するのは珍しいように思えるかもしれませんが、注意してください。インラインと同様に、この方法は一般に安全であり、最適化に有益であると考えられています。
以上がC でインターフェイスを定義および実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。