私は、特定のライブラリ(例えばlibrary_1)によって広範囲にわたって使用される基本クラスを持つライブラリを持っています。特定のクラスをライブラリから置き換えること
namespace library_1 {
class some_class {
}
}
私が定義しているこのクラスの別のバージョンを代わりに使用したいと思っています。 (彼らは正確にキャスト可能ダイナミックではありませんので、異なるデータメンバ)
namespace my_own {
class some_class {
}
}
my_own :: some_classとlibrary_1 :: some_classは同じパブリックインターフェイスを持ってしようとしています。だから私は、この1つのクラスだけを置き換えるこのライブラリをコンパイルできるようにしたい。これは可能です。
しかし、このプロセス全体の複雑さは、(some_classへのアクセスを含む)最初のライブラリを使用する2番目のライブラリ(そのソースコードにはアクセスできず、それをlibrary_2と呼びます)があることです。
主な実行ファイルは、library_2(元のライブラリに対してコンパイルされたもの)と、このsome_classを置き換えた別のバージョンのlibrary_1の両方にアクセスする必要があります。
これは複雑な状況ですが、これを達成するための最良の方法は何か(コードの観点から、これをバージョン管理でどのように維持するか)について教えてください。