ホームページ >バックエンド開発 >C++ >C でインターフェイスを定義および実装するにはどうすればよいですか?

C でインターフェイスを定義および実装するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-04 06:22:40417ブラウズ

How to Define and Implement Interfaces in C  ?

C でのインターフェイス宣言の拡張

元の質問: インターフェイスを表すクラスを定義するにはどうすればよいですか?

展開された回答: 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。