C++ 名詞解釋









C++ 名詞解釋


|
0
意見
]



「::」稱之為類別範圍解析(Class scope resolution)運算子,


在實作類別方法時,在::之前指明您要實作的是哪一個類別

利用這種寫法可以讓你在類別外的地方進行numbers類別中的output()函式的寫作工作.


譬如
類別名稱numbers :: 類別內的函式名稱output()


http://caterpillar.onlyfun.net/Gossip/CppGossip/CppGossip.html




入門基礎


        學習程式語言第一件事,通常就是先作個簡單的程式來運行一下,並從瞭解程式語言的資料型態、變數與流程控制語法開始。

  • 資料型態與變數



        無論如何 先來個 "Hello! World!" 顯示一下程式執行結果,增加一點撰寫程式的信心!接著就耐心的瞭解一下 C++ 的資料型態,以認識一下變數、常數。


    • Hello! World!

    • 資料 型態(Data type)

    • 字 面常量(Literal constant)

    • 變數 (Variable)

    • 終端機 輸入輸出(Input/Output)



  • 運算



        程式的目的簡單的說就是運算、運算還是運算,加減乘除這類的動作是少不得的,在C++中提供運算功能的就是運算子(Operator)。


    • 算 術 (Arithmetic)運算、型態轉換(Type conversion)

    • 關 係 (Relational)運算、條件 (Conditional)運算

    • 邏 輯(Logical)運算、位 元(Bitwise)運算

    • 遞 增 (Increment)、遞減(Decrement)、指定 (Assignment)運算



  • 流程控制



        流程控制語法是程式設計的基本,藉由各種條件判斷與迴圈重覆執行語法,您可以令您的程式因應不同的狀況而作出不同的回應。


    • if 條件判斷

    • switch 條件判斷

    • for 迴圈

    • while 迴圈

    • break、 continue、goto






進階型態


        陣列、字串、指標這幾種C++的進階型態相當常被使用,雖然看似複雜,但彼此之間互有相關。

  • 陣列(Array)



        各種型態的陣列各有其不同的用途,但無論如何,先從基本型態的一維陣列、二維陣列開始認識起。


    • 一 維陣列

    • 二 維陣列



  • 向量(Vector)



        C++提供了內建陣列的替代型態 vector,vector 可以如同陣列一般的操作,並記得自己的長度資訊,您也可以使用物件的方式來操作 vector 。


    • 陣列型 式(Array idiom) vector 

    • STL 型式(STL idiom) vector



  • 字串(String)



        字串的本質是字元陣列,而在C++中還可以使用string類別來表現字串,兩者都有瞭解的必要。


    • 字元陣 列(C-style 字串)

    • 使用 string 型態



  • 指標(Pointer)



        指標可指向一個記憶體位址,可對物件作間接操作,指標擁有型態,這用來告訴編譯器如何解釋記憶體空間的內容,以及每一次運算的大小。


    • 指標與 記憶體位址

    • 指 標的運算

    • 指 標與陣列

    • new 運算子與 delete 運算子

    • 雙 重指標

    • 指 標與字串

    • 命 令列引數

    • 參 考(Reference)






函式


        程式中超過兩次以上重複使用的程式碼,可以考慮將之定義為函式,以便重覆呼叫使用,降低相同程式片段的維護成本。

  • 函式入門



        先簡介一些與函式定義相關的幾個語法,並談談幾個變數可視範圍的議題。


    • 函 式簡介

    • 行 內涵式(Inline function)

    • 預 設引數

    • 重 載函式 (Overloaded function)

    • 變數可視範 圍(Scope)



  • 進階議題



        遞迴呼叫、傳值、傳址、傳參考等,這些議題在函式的使用上關乎執行資源的使用與效率問題。


    • 遞 迴(Recursion)

    • 參數的傳 值、傳參考

    • return 的傳值、傳參考

    • 不定長度 引數(Variable-length argument)

    • 函 式指標






物件基礎


        以物件為基礎的程式設計,將程式中互動的單元視為一個個的物件。

  • 封裝(Encapsulation)



        封裝物件資訊是第一步,您要瞭解如何使用類別定義物件,像是定義物件的屬性、行為等等,類別是建構物件 時所依賴的規格書。



    • 簡介 類別(Class)

    • 建 構函式、解構函 式

    • auto_ptr 自動管理配置資源

    • const  與 mutable

    • friend 函式、friend 類別

    • 物 件指標

    • this 指標

    • static 成員


  • 封裝的進階議題



        一些有關於指標、運算子重載、特殊型態類別的相關議題。


    • 巢 狀類別(Nested classes)

    • 區 域類別(Local classes)

    • 成 員函式指標 (Pointer to member function)

    • 靜 態類別成員指標 (Pointer to static class member)

    • 重 載運算子

    • 使用 friend 函式重載運算子

    • 複製建構函 式、物件的指定

    • 使用者自訂型態 轉換(User-Defined Conversions)

    • 列舉 (Enumeration)

    • Union

    • 位元 欄位(Bit-field)






物件導向

以物件為基礎作延伸,多型(Polymorphism)操作為設計時的核心,於執行時期 動態繫結(Dynamic binding)以決定物件的行為。



  • 繼承(Inheritance)



        您可以繼承某個(父)類別的定義並加以擴充,而制訂出一個新的(子)類別定義。



    • 公 開(public)繼承

    • 受 保護的 (protected)成員

    • 成員函式的重新 定義

    • 繼承後的建構函 式與解構函式

    • 保護 (protected)繼承、私用 (private)繼承


  • 多型(Polymorphism)



        多型操作在物件 導向設計中伴演著極重要的角色,使用的適當與否,足以 影響程式的架構與未來的可維護性。


    • 虛 擬函式(Virtual function)

    • 純 虛擬函式、抽象類別 (Abstract class)

    • 執行時期型態 資訊(RTTI)

    • 使 用 dynamic_cast

    • 多 重繼承(一)

    • 多 重繼承(二)

    • 虛 擬繼承 (Virtual Inheritance)





例外處理(Exception Handling)


        例外(Exception)是程式執行時期可偵測到的異常狀況,C++的例外處理包括兩部份:例外的丟出(throw)與例外的捕捉(catch)與處 理。

  • 簡 介例外處理

  • 自 訂例外類別

  • 標 準例外類別

  • 例 外規格 (Exception Specifications)





範本(Template)、名稱空間(Namespace)


        範本(Template)提供被參數化的型態(Parameterized Types)功能,將型態相依與非型態相依的演算法分離開來;名稱空間則提供一個名稱管理容器,減低名稱衝突的機會發生。

  • 函 式 範本(Function template)

  • 類 別 範本(Class template)

  • 名稱空 間(Namespace)





輸入/輸出



        來看看 C++ 中如何處理輸入/輸出,像是格式控制、檔案 I/O 等。


  • 格式控制與 <<、>> 運算子重載



        首先來看看基本的格式控制,以及 << 、 >> 運算子的重載。



    • I/O 格式控制器

    • I/O 格式化旗標

    • 重 載 << 運算子

    • 重 載 >> 運算子


  • 檔案 I/O



        檔案的輸出輸入是 I/O 的基本,為認識 I/O 的入門必學。



    • 未 格式化檔案 I/O

    • 格 式化檔案 I/O

    • 二 進位檔案 I/O

    • get 指標與 put 指標 

    • 隨 機存取檔案





附錄



  • C+ +爸爸(Bjarne Stroustrup)給C++初學者的信

  • C+ +語言常見問題解答

  • C/C ++的標準 函式庫查詢



  • Complete C++ language tutorial

  • C Programming.com










0
意見






張貼留言















較新的文章


較舊的文章

首頁



Popular posts from this blog

倭马亚王朝

Gabbro

托萊多 (西班牙)