如果我有三個類型的地圖和矢量:抽象的地圖和矢量的STL
map1<CString, int>
map2<CString, int, std::function1>
map3<some_wrapper_of_CString, int, std::function2>
STL中有一個抽象的容器或寫我自己的抽象容器做多態的唯一目的的方式:
abstract_map = MAP1或MAP2或MAP3
我的類包含MAP1我不能修改,因爲它會崩潰的其他類,我在高校工作中使用。我想通過創建一個抽象的地圖包MAP1我可以通過微管相關蛋白和三無其他修改...
我希望這是有道理的.....
您需要完整地說明地圖的實際類型以及鍵和值之間的關係(公共基礎,轉換運算符...)讓我們有機會理解你在嘗試什麼,以及爲什麼你認爲多態是解決方案。 –
@MatthieuM。我編輯了這個問題 – djWann
你還需要在仿函數上輸入erase?這就是'std :: function'已經存在的地方。兩個'std :: function'類型的類型有何不同?簽名應該是相同的。 – pmr