[C++] 類別 Class
類別 Class 在前一章節,我們提到了程式設計的一個重要基礎觀念,物件導向。在那個章節中我們提到了類別 Class 的概念,相信大家都還不是很懂什麼是類別。 這個章節我們就要來探索什麼是類別 Class,這也是一個在程式設計中非常重要的觀念! 什麼是類別 在 物件導向 那篇文中,我們提到了物件導向的核心就是物件。而每個物件都有兩個特點,特徵以及行為。 在 C++ 中,類別 Class 就像是 [...]
[C++] 物件導向 Object-Oriented Programming
物件導向 Object-Oriented Programming 在 C++ 的世界中,物件導向是一個非常重要的觀念!英文叫做 Object-Oriented Programming (OOP)。 物件導向這個觀念將在程式中的各種元件看作一個擁有特定屬性和行為的對象,這對程式開發的效率和清晰度的提升起到關鍵的作用。 在這一章中,我們就來討論到底什麼是物件導向?「物件」到底是什麼?以及如果沒有物件 [...]
[C++] 變數範圍 Scope
變數範圍 Scope 在「作用域」這一節中,我們介紹了 內部連結、外部連結 等等觀念。這章我們要來介紹更為基礎的觀念:變數範圍 Scope。 一樣我們會先了解什麼是變數範圍,看看有哪幾種範圍,接著舉幾個例子讓我們可以更容易理解! 什麼是變數範圍 前一章我們有提到什麼是 全局變數 global variable,與之相反的,我們有區域變數 local variable,另外還有區塊變數 bloc [...]
[C++] 名稱空間 Namespace
名稱空間 Namespace 在上一章 外部連結 Internal Linkage 中我們介紹了外部連結的概念。這個概念讓我們學到了有些參數、或是預設函數都可以被其他文件看到。 在這章中,我們要來介紹新的概念,名稱空間 Namespace,包括我們為什麼需要它、要如何使用等等。 什麼是名稱空間 遇到的問題 在了解什麼是名稱空間 Namespace 之前,我們先來了解一下我們遇到什麼樣的問題。 [...]
[C++] 外部連結 External Linkage
外部連結 External Linkage 在上一章 內部連結 Internal Linkage 中我們介紹了內部連結的概念,這一章我們要來介紹他的兄弟觀念:外部連結。 一樣,我們會先介紹什麼是外部連結,接著講該如何使一個變數或函數擁有外部連結,最後講為什麼我們需要它。 什麼是外部連結 上一章我們了解到什麼是內部連結,簡單來說,如果一個變數或函數被設定為內部連結,那麼只有該檔案可以看得到它。 [...]
[C++] 內部連結 Internal Linkage
內部連結 Internal Linkage 這章我們要來介紹內部連結 internal linkage,包括它是什麼、要怎麼用它等等。 廢話不多說,就讓我們趕快來學習吧! 什麼是內部連結 不知道你們有沒有想過,為什麼在一個檔案裡面的變數只有該檔案才看得到,其他檔案看不到? 你們可能會想:「誒這不是很合理嗎?」 沒錯!這很合理!如果不是這樣的話那如果有成千上萬個檔案的話那就會非常混亂了。 但其實 [...]
[C++] 函數指標 Function Pointer
函數指標 Function Pointer 在 指標 Pointer 那一章中,我們已經了解到指標是用來儲存一個變數的地址。這章我們要來了解什麼是函數指標。 實際上函數指標也是用來儲存地址,唯一的差別在於它是用來儲存函數的地址,而非變數。 什麼是函數指標 開頭講到,函數指標是用來儲存函數的地址。沒錯,函數跟變數一樣也有地址! 這是因為程式若在執行時遇到函數,它會跳到函數所在的地址,執行在其中的 [...]
[C++] 遞迴 Recursion
遞迴 Recursion 在前一章中,我們介紹了函數的其他應用以及細節。在這一章中,我們要介紹更進階的應用:遞迴 Recursion! 遞迴這個觀念其實很簡單,但也是許多人的惡夢。尤其是初學程式的人,常常不知道如何除錯,或是邏輯轉不過來。 我一開始也是非常討厭遞迴,因為我不知道該如何用遞迴的方式寫程式碼,也是經過大量的練習,才慢慢地對遞迴這個觀念有些感覺。 但不用怕!在這一章中,我們會來認識遞迴 [...]