正文

回到頂部

1. 問題的引入——將operator*模板化

Item 24中解釋了為什么對于所有參數(shù)的隱式類型轉(zhuǎn)換,只有非成員函數(shù)是合格的,并且使用了一個為Rational 類創(chuàng)建的operator*函數(shù)作為實例。在繼續(xù)之前建議你先回顧一下這個例子,因為這個條款的討論是對它的擴展,我們會對Item 24的實例做一些看上去無傷大雅的修改:對Rational和opeartor*同時進行模板化:

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),手機維修培訓(xùn),手機軟件培訓(xùn)

 1 template<typename T> 2 class Rational { 3 public: 4 Rational(const T& numerator = 0, // see Item 20 for why params 5  6 const T& denominator = 1);         // are now passed by reference 7  8 const T numerator() const;          // see Item 28 for why return 9 10 11 const T denominator() const; // values are still passed by value,12 ... // Item 3 for why