我有一個庫,它有一個基本的類,廣泛用於特定的庫(比如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。
我知道這是一個複雜的情況,但是實現這個目的的最佳方法是什麼(從代碼角度來看,以及如何在版本控制中保持這種狀態)?