私はC++プログラムA.cppを持っていて、2つのヘッダーファイルXhとYhをインクルードしています。このプログラム(A.cpp)には、クラス'foo'とそのクラスのすべてのメンバーのプロトタイプがあります。このクラスの実装はXhとYhで行われます。どちらにもメンバー関数の異なる定義が含まれています。ただし、これらのファイルの1つを含めるには、プログラムで#ifdefを使用して条件付きで行います。したがって、特定の条件が満たされている場合、Xhは#include-edであり、そうでない場合、Yhは#include-edです。それらの両方が一緒に含まれることはありません。問題は次のとおりです。このコンパイル時のトグルを実行時のトグルに変更する必要があります。実行時にヘッダーファイルをインクルードできないことを知っているので、名前空間を使用せずに、必要な実装を「選択」できる方法はありますか?関数のプロトタイプは同じであるため、オーバーロードは除外されます。
どうもありがとう。(これがばかげている場合は申し訳ありません。私はC ++の初心者です)