[C++] 友元件 Friend
友元件 Friend 在 類別優點 中,我們講到類別讓我們可以將細節給「包起來」,不讓外界看到。程式碼可以做到這點很大一部分歸功於關鍵字 public 和 private 的幫助。 但是當我們一定要取得另一個類別內被保護的資訊時該怎麼辦呢?這章我們就要來討論這個問題! 什麼問題 開頭說到,當我們一定要取得另一個類別中被保護的資訊時,該怎麼辦呢? 什麼情況會需要取得另一個類別中被保護的資訊呢? [...]
[C++] 靜態成員函數 Static Member Function
靜態成員函數 Static Member Function 前一章我們介紹了什麼是 靜態成員變數,這章我們要來介紹另一個成員,也就是靜態成員函數 Static Member Function! 什麼是靜態成員函數 在前一章我們已經知道了什麼是靜態成員變數,但那個並不是類別中唯一的靜態成員。 函數也可以是靜態成員,就叫做靜態成員函數。 我們直接來看一個例子: class Object { pub [...]
[C++] 函數指標 Function Pointer
函數指標 Function Pointer 在 指標 Pointer 那一章中,我們已經了解到指標是用來儲存一個變數的地址。這章我們要來了解什麼是函數指標。 實際上函數指標也是用來儲存地址,唯一的差別在於它是用來儲存函數的地址,而非變數。 什麼是函數指標 開頭講到,函數指標是用來儲存函數的地址。沒錯,函數跟變數一樣也有地址! 這是因為程式若在執行時遇到函數,它會跳到函數所在的地址,執行在其中的 [...]
[C++] 遞迴 Recursion
遞迴 Recursion 在前一章中,我們介紹了函數的其他應用以及細節。在這一章中,我們要介紹更進階的應用:遞迴 Recursion! 遞迴這個觀念其實很簡單,但也是許多人的惡夢。尤其是初學程式的人,常常不知道如何除錯,或是邏輯轉不過來。 我一開始也是非常討厭遞迴,因為我不知道該如何用遞迴的方式寫程式碼,也是經過大量的練習,才慢慢地對遞迴這個觀念有些感覺。 但不用怕!在這一章中,我們會來認識遞迴 [...]
[C++] 函數進階介紹 Function
函數進階介紹 在前一章中,我們介紹了基本的函數組成,怎麼應用函數,以及為什麼我們需要他。 在這一章中,我們要來更進一步的介紹函數的其他應用以及細節! 參數 一個函數的參數就是在進行函數宣告時出現在 () 中的變數,以前一章的例子來說,num 就是 square() 這個函數的參數,同時也是唯一的參數。 參數的運作方式和一個函數裡的變數的運作方式其實幾乎是一樣的。唯一的差別在於,參數初始化的值是 [...]
[C++] 函數基本介紹 Function
函數基本介紹 在這章中,我們要來介紹在軟體世界中一個非常重要而且基本的概念,也就是函數。雖然說這個概念很基本,但軟體也會在有了函數以後而開始變得複雜,並且產生很多延伸觀念比如說遞迴 recursion、函數多載 function overloading 等等。 但這些都是以後的事,這章我們就先來介紹一下什麼是函數,它是怎麼運作的,以及為什麼我們需要函數吧! 什麼是函數? 在軟體世界中,函數是 [...]