先前寫過 C++ 類別的設計手法 [https://goo.gl/kJRPcK],其中一個是「滿足條件才能生成物件」。其實,需求若只是產生 TheTea
,使用函數(Function)即可滿足,有需要寫成類別嗎?本文以此例探討:To class, or not to class.
以函數實作
把先前的 TeaMaker 類別實作貼過來:
class TeaMaker
{
TeaMaker(Tea, Sugar, Ice);
TheTea Make();
};
相應的函數可實作成:
TheTea MakeTea(Tea, Sugar, Ice);
同樣是接收三個輸入參數,產生輸出(TheTea),上述函數實作滿足了「當前」的需求。一般來說,呼叫函數不需要先建物件,再呼叫其成員函數,