原创 C++ 高級數據類型(六)—— 自定義數據類型

前面我們已經看到過一種用戶(程序員)定義的數據類型:結構。除此之外,還有一些其它類型的用戶自定義數據類型:   定義自己的數據類型 (typedef) C++ 允許我們在現有數據類型的基礎上定義我們自己的數據類型。我們將用關鍵字t

原创 C++基礎知識(四)—— 操作符/運算符

前面已經學習了變量和常量,我們可以開始對它們進行操作,這就要用到C++的操作符。有些語言,很多操作符都是一些關鍵字, 比如add, equals等等。C++的操作符主要是由符號組成的。這些符號不在字母表中,但是在所有鍵盤上都可以找到。這

原创 C++學習基礎篇 —— 引用(&)的用法和應用

一、引用簡介   引用就是某一變量(目標)的一個別名,對引用的操作與對變量直接操作完全一樣。   引用的聲明方法:類型標識符&引用名=目標變量名; 【例1】: [cpp] view plain copy   int

原创 C++ 高級數據類型(四)—— 動態內存分配

到目前爲止,我們的程序中我們只用了聲明變量、數組和其他對象(objects)所必需的內存空間,這些內存空間的大小都在程序執行之前就已經確定了。但如果我們需要內存大小爲一個變量,其數值只有在程序運行時 (runtime)才能確定,例如有些

原创 C++ 面向對象(一)—— 類(Classes)

 類(class)是一種將數據和函數組織在同一個結構裏的邏輯方法。定義類的關鍵字爲class ,其功能與C語言中的struct類似,不同之處是class可以包含函數,而不像struct只能包含數據元素。 類定義的形式是: [cp

原创 C++ 高級篇(二)—— 名空間 (Namespaces)

通過使用名空間(Namespaces)我們可以將一組全局範圍有效的類、對象或函數組織到一個名字下面。換種說法,就是它將全局範圍分割成許多子域範圍,每個子域範圍叫做一個名空間(namespaces). 使用名空間的格式是: name

原创 C++ 控制結構和函數(三)—— 函數II(Functions II)

參數按數值傳遞和按地址傳遞(Arguments passed by value and by reference) 到目前爲止,我們看到的所有函數中,傳遞到函數中的參數全部是按數值傳遞的(by value)。也就是說,當我們調用一個帶

原创 C++ 控制結構和函數(二) —— 函數I(Functions I)

通過使用函數(functions)我們可以把我們的程序以更模塊化的形式組織起來,從而利用C++所能提供的所有結構化編程的潛力。 一個函數(function)是一個可以從程序其它地方調用執行的語句塊。以下是它的格式:   type n

原创 C++ 面向對象(二)—— 操作符重載

C++ 實現了在類(class)之間使用語言標準操作符,而不只是在基本數據類型之間使用。例如: int a, b, c; a = b + c; 是有效操作,因爲加號兩邊的變量都是基本數據類型。然而,我們是否可以進行下面的操作就不是那麼

原创 C++ 面向對象(三)—— 類之間的關係

友元函數(Friend functions) 在前面的章節中我們已經看到了對class的不同成員存在3個層次的內部保護:public, protected 和 private。在成員爲 protected 和 private的情況下,

原创 C++ 高級數據類型(五)—— 數據結構

一個數據結構是組合到同一定義下的一組不同類型的數據,各個數據類型的長度可能不同。它的形式是: struct model_name { type1 element1; type2 element2; type3 element3; .

原创 C++基礎知識(二)—— 變量和數據類型

你可能覺得這個“Hellow World”程序用處不大。我們寫了好幾行代碼,編譯,然後執行生成的程序只是爲了在屏幕上看到一句話。的確,我們直接在屏幕上打出這句話會更快。但是編程並不僅限於在屏幕上打出文字這麼簡單的工作。爲了能夠進一步寫出

原创 C++ 高級數據類型(三)—— 指針

我們已經明白變量其實是可以由標識來存取的內存單元。但這些變量實際上是存儲在內存中具體的位置上的。對我們的程序來說,計算機內存只是一串連續的單字節單元(1byte cell),即最小數據單位,每一個單元有一個唯一地址。 計算機內存就好像

原创 C++ 控制結構和函數(一) —— 控制結構

一個程序的語句往往並不僅限於線性順序結構。在程序的執行過程中它可能被分成兩支執行,可能重複某些語句,也可能根據一些判斷結果而執行不同的語句。因此C++ 提供一些控制結構語句 (control structures) 來實現這些執行順序。

原创 C++ 高級數據類型(二)—— 字符序列

前面基礎知識部分講C++變量類型的時候,我們已經提到過C++的標準函數庫提供了一個string類來支持對字符串的操作。然而,字符串實際就是一串連續的字符序列,所以我們也可以用簡單的字符數組來表示它。 例如,下面這個數組: char j