我想寫一個線性程序解決庫。因此使用了幾種求解器,如cplex或gurobi。我已經有了每個接口(都包含相同的函數來包裝它們來解決特定的代碼)。正確的繼承/類結構
現在我想要一個可以實例化的類'LinearProgram',例如通過LinearProgram(「cplex」),然後調用cplex求解器。
我的第一個想法是使用超類「求解器」,它是所有求解器接口的基類,其中包含作爲虛擬聲明的相應函數。但後來我得到了一個無法實例化的抽象類。 所以在LinearProgram中,我想要一個變量Solver,它根據構造函數中給出的字符串進行實例化。
我確定一個合適的解決方案是非常明顯的,但我現在所能想到的一切都不令人滿意。
感謝您的幫助。
使用你的求解器超類的想法,僅實例化子類,並且不要使用超類的值(僅使用指針和引用)。 – Wug