関数の継承により、派生クラスが基本クラスの関数をオーバーライドして、コードの重複を回避できます。実装方法: 派生クラス関数の前に override キーワードを使用します。実際のケース: プラグイン アーキテクチャでは、プラグイン クラスが基本クラスとして機能し、派生クラスがプラグイン実装を提供します。プラグインは動的にロードされ、PluginManager クラスを通じて実行されます。
#C 関数継承の詳細な説明: プラグイン可能なアーキテクチャのための強力なツール関数継承の概要関数継承を使用すると、関数を継承できます。派生クラス内 コードの重複を避けるための基本クラス関数。派生クラスの関数は基本クラスの関数をオーバーライドします。つまり、実行時に基本クラスの関数の代わりに派生クラスの関数が呼び出されます。 関数継承の使用方法関数継承を実装するには、派生クラスのクラス定義でoverride キーワードを使用して、基本関数をオーバーライドする必要があります。クラス。例:
class Base { public: virtual void print() { std::cout << "Base class print" << std::endl; } }; class Derived : public Base { public: virtual void print() override { std::cout << "Derived class print" << std::endl; } };
class Plugin { public: virtual void init() = 0; virtual void run() = 0; virtual void terminate() = 0; }; class PluginA : public Plugin { public: void init() override {} void run() override { std::cout << "Plugin A is running" << std::endl; } void terminate() override {} }; class PluginB : public Plugin { public: void init() override {} void run() override { std::cout << "Plugin B is running" << std::endl; } void terminate() override {} }; class PluginManager { public: std::vector<std::unique_ptr<Plugin>> plugins; void loadPlugin(std::unique_ptr<Plugin> plugin) { plugins.push_back(std::move(plugin)); } void runPlugins() { for (auto& plugin : plugins) { plugin->run(); } } };
Plugin クラスが基本クラスとして機能し、インターフェイスを定義します。プラグインの (
init()、
run()、
terminate())。
PluginA および
PluginB は、実際のプラグイン実装を提供する派生クラスです。
PluginManager このクラスはプラグインの管理を担当し、プラグインの動的な読み込みと実行を可能にします。
以上がC++ 関数の継承の詳細な説明: 継承を使用してプラガブル アーキテクチャを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。