1、C++的標準輸入輸出資料流
C++中提供了一套輸入輸出資料流對象,他們是cin,cout,cerr,對應C語言的中三個檔案指標,stdin,stdout,stderr,分別指向終端輸入,終端輸出和標準出錯輸出(也從終端輸出),cin與>>一起完成輸入操作,cout,cerr與<<一起完成輸出與標準錯誤輸出。利用cin和cout比C語言中的sanf和printf要方便得多,cin和cout可以自動辨別輸入輸出資料類型而自動調整輸入輸出格式,不必像sanf和printf那樣一個個由使用者指定,使用cin,cout不僅方便,而且減少了出錯的可能性。
對於輸出來說,我們我可以用int i=3; cout<<x<<endl;
對於輸入來說,我們可以用int j;cin>>i;
注意箭頭的方向。在輸出中我們還使用endl(end of line),表示換行。主要最後一個是字元"l",而不是數字"1",endl相當於C語言的'\n',表示輸出一個換行。
2、建構函式
建構函式最重要的作用是建立對象本省。
C++規定,每個類必須有一個建構函式,沒有建構函式,就不能建立任何對象。
C++又規定,如果一個類沒有提供任何建構函式,則C++編譯器提供一個預設的建構函式,這個建構函式不帶任何參數,它只負責建立對象,而不做任何初始化工作。
只有一個類定義了一個建構函式,不管這個建構函式將是否是帶參數的建構函式,c++就不再提供預設的建構函式。如果需要無參的建構函式,則必須自己定義。
3、解構函式
當一個對象生命週期結束時,其所佔有的記憶體空間就要被收回,這個工作就由解構函式來完成。
解構函式是"反向"的建構函式,解構函式不允許有傳回值,更重要的是解構函式不允許帶參數,並且一個類中只能有一個解構函式。
4、函數的重載
分析以下情況:是否構成函數的重載。
(1)void output(); int output();---不能
(2)void output(int a,int b=5); void output(int a);---不能
條件:方法名相同,函數的參數類型,參數個數不同,才能構成函數的重載。
5、this指標
this指標是一個隱含的指標,它是指向對象本省,代表對象的地址。
一個類所以的對象調用的成員函數都是同一份程式碼片段,那麼成員函數又是怎麼識別屬於同一對象的資料成員呢?原來,在對象調用pt.output(10,10),成員函數除了接受2個實參外,還接受到了一個對象s的地址,這個地址被一個隱含的形參this指標所擷取,它等同於執行this=&pt.所有對資料成員的訪問都隱含地被加上首碼
this->。例如x=0;等價於:this->x=0。
6、類的繼承訪問特徵
基類的訪問特徵 類的繼承特徵 子類的訪問特徵
public public
protected public protected
private No Access
public Protected
protected protected protected
private No Access
public Private
protected Private Private
private No Access
7、多態性
當C++編譯器在編譯的時候,發現如果父類的方法是虛函數,這個時候C++就會採用遲綁定(late binding)的技術,在運行時,依據對象的類型來確認調用的哪一個函數,這種能力就做C++的多態性。