我有兩個幾乎完全相同的類,實際上每個成員函數都是相同的,每個成員都是相同的,每個成員函數都完全相同。這些類之間的唯一區別是我可以定義自己的類型變量的方式:重構類
AllocFactorScientific<102,-2> scientific;
AllocFactorLinear<1.2> linear;
這裏是頭對他們來說:
template<double&& Factor>
struct AllocFactorLinear;
template<short Mantissa, short Exponent, short Base = 10>
struct AllocFactorScientific
我的問題是如何重構這些功能了這些類的這將允許我只有一組功能而不是兩組相同的功能。
是的,我在幾分鐘前就想到了類似的事情。謝謝。將與第一個選項一起去。 – 2010-11-25 22:04:35