我有一个库,它有一个基本的类,广泛用于特定的库(比如library_1)。从库中替换特定的类
namespace library_1 {
class some_class {
}
}
我希望这个库可以使用我定义的这个类的另一个版本。
namespace my_own {
class some_class {
}
}
my_own :: some_class和library_1 :: some_class将会有相同的公共接口(但不同的数据成员,所以他们不完全动态浇注料)。所以我希望能够编译这个库来替换这个类。这是可行的。然而,在这整个过程中的复杂性是,我有第二个库(其源代码我无法访问,称之为library_2),它使用第一个库(包括访问some_class)。
我的主要可执行文件需要访问library_2(它是针对原始库编译的)和不同版本的library_1,并替换了这个some_class。
我知道这是一个复杂的情况,但是实现这个目的的最佳方法是什么(从代码角度来看,以及如何在版本控制中保持这种状态)?