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