3
如何創建類型副本?例如,如何創建不能隱式轉換爲double
(或任何其他數字類型)的類型Mass
,Acceleration
和Force
,但其他方式具有double
的所有特徵。這將允許編譯時輸入合法性檢查此功能:創建類型副本
Force GetForceNeeded(Mass m, Acceleration a);
確保GetForceNeeded
只能Mass
類型和Acceleration
的參數來調用。
當然,我可以手動創建的類型的副本實現這一目標:
class Force final
{
public:
//overload all operators
private:
double value;
};
但是這很麻煩。有沒有通用的解決方案?
也許模板?或者使用Boost.Units? –
嗯請問什麼? –
@KerrekSB但是,我如何公開所有定義的操作?假設我想爲「串」做這件事? – Pradhan