ホームページ > バックエンド開発 > C++ > 抽象基本クラスと仮想デストラクターを使用して C でインターフェイスを実装するにはどうすればよいですか?

抽象基本クラスと仮想デストラクターを使用して C でインターフェイスを実装するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-21 18:40:11
オリジナル
632 人が閲覧しました

How Do I Implement Interfaces in C   Using Abstract Base Classes and Virtual Destructors?

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート