原创 C++類構造函數初始化列表

構造函數初始化列表以一個冒號開始,接着是以逗號分隔的數據成員列表,每個數據成員後面跟一個放在括號中的初始化式。例如: class CExample {public:   int a;   float b;   //構造函數初始化列表

原创 C++基礎:繼承與派生(聲明 繼承方式 訪問規則)

繼承是面向對象程序設計中的重要特性,是軟件複用的一種形式。其實繼承和派生就是同一種概念的不同說法罷了,通常我們說子類繼承父類,父類派生出子類。先講一下C++中派生與繼承的基本概念,它是之後學習派生類的構造與析構,以及多重繼承等的基礎。  

原创 C++基礎:繼承與派生(構造 析構函數 顯式訪問)

1.派生類如何構造: 對於簡單的派生類,即只有一個基類,且直接派生(多繼承將在後續幾節中做詳細講解),來講,如果基類的構造函數沒有參數,或者沒有顯式定義構造函數,那麼派生類可以不向基類傳遞參數,甚至可以不定義構造函數。但是一旦基類含有帶參

原创 用linux getopt()函數進行命令行處理

簡介: 所有 UNIX® 程序甚至那些具有圖形用戶界面(graphical user interface,GUI)的程序,都能接受和處理命令行選項。對於某些程序,這是與其他程序或用戶進行交互的主要手段。具有可靠的複雜命令行參數處理機制,會

原创 C++ inline 內聯函數

人們經常會討論的2種觀點: 一.inline 應該在函數聲明之前(在定義之前是否有inline對函數是否內聯不影響)http://www.pconline.com.cn/pcedu/empolder/gj/c/0503/563879.ht

原创 C++基礎:類與對象(對象調用成員函數 this指針)

1.一個對象的this指針並不是對象本身的一部分,不會影響sizeof(對象)的結果。this作用域是在類內部,當在類的非靜態成員函數中訪問類的非靜態成員的時候,編譯器會自動將對象本身的地址作爲一個隱含參數傳遞給函數。也就是說,即使你沒有

原创 C++中static extern關鍵字及全局變量的辨析

全局變量,就是指那些定義在函數或類之外的變量,它可作爲多個類或函數都需要共同使用的變量。 (1)全局變量會被自動初始化,函數中的變量不會被自動初始化,類中定義的那些成員變量(內建)也不會自動初始化。那麼這裏有一個疑問,爲什麼要這樣設置?並

原创 C++基礎:類與對象(創建 成員 訪問)

C中的結構體存在缺點: 1.函數中的任意賦值語句都可以訪問結構體中的成員,但在現實生活中並不是什麼數據都可以被隨意訪問的,因此C語言中的結構體的數據是不安全的; 2.結構體中的數據和對該數據的操作是分離的,並不是一個被封裝起來的整體,因此

原创 c++ string類 總結

  標準C++中的string類 標準C++中提供的string類得功能是非常強大的,一般都能滿足我們開發項目時使用。 要想使用標準C++中string類,必須要包含: #include <string>// 注意是<string>,不

原创 <getopt.h>及相應的函數

getopt.h和對應的鏈接庫不是每個編譯器都有的,gcc編譯器好像是有的,但是在vs2008是沒有的,所以就要去網上下載跨平臺的代碼,不管怎麼樣,最終要把getopt.h和相應的lib文件和工程鏈接起來