5.2 類的定義
類體中定義類的資料和方法,其中資料描述的是類的特徵,也稱之為屬性或資料成員,方法實際上是類中定義的函式,也稱之為方法,描述的是類的行為。
5.3 類的例項化
在定義乙個類之後,並不能夠直接使用類,需要定義乙個類的物件,通常也成為類的例項化。
定義類時,如果沒有類成員的訪問級別,則不能通過編譯。
類成員有種訪問級別,分別是public、protected和private
public標記的成員成為共有成員,public成員可以在程式的任意地方進行訪問。
protected標記的成員成為保護成員,該成員只能在該類和該類的派生(子類)中訪問,除此之外,程式的其他地方不能訪問保護成員。
private標記的成員成為私有成員,該成員只能在該類中訪問,派生類以及程式的其他地方均不能訪問私有成員。
如果在定義類時沒有指定訪問限定符,預設為private.
5.4 建構函式和析構函式
在c++語言中,每乙個類都具有建構函式和析構函式。
建構函式在定義或構建物件時呼叫,析構函式在物件釋放時呼叫。如果使用者沒有顯示地為類提供建構函式和析構函式,系統會為其提供預設的建構函式和析構函式。
在編寫c++類時,通常在建構函式中初始化資料成員,在析構函式中釋放一些資源,進行物件的清理工作。
5.13 隱藏的this指標
在定義多個類物件時,每乙個類物件都有自己的乙份資料成員(靜態成員除外).
char* getusername() const
在getusername函式體中如何區分m_username成員屬於user物件還是defuser物件呢?答案是通過this指標。
在每個類的成員函式(非靜態成員函式)中都隱藏包含乙個this指標,指向被呼叫物件的指標,對於非const方法,this指標的格式為「型別* const this」,在const方法中,
this指標的格式是「const型別* const this」.
實際上,編譯器為了實現this指標,在成員函式中自動新增了this指針對資料成員的訪問。此外,為了將this指標指向當前呼叫物件,並在成員函式中能夠使用,在每個成員
函式中都隱含包含乙個this指標作為函式引數,並在函式呼叫時將物件自身的位址隱含作為實際引數傳遞。
C 類和物件 類和物件
c 中物件的型別稱為類,類代表了某一批物件的共性和特徵,類是物件的抽象,而物件是類的具體例項,類是抽象的,不占用記憶體,而物件是具體的,占用 儲存空間,這點很重要,讀者需要牢記。類是使用者自己指定的型別,如果程式中要用到類型別,必須自己根據需要進行宣告,或者使用別人已設計好的類,c 標準本身並不提供...
C 物件和類
1,特殊的類 字串string include include using namespace std int main 類似於標準庫函式,我們不需要記住每種 類 的全部操作,只需要在使用過程中記住一些常用的操作就可以了。如果有需要的話,可以求助於相關書籍或網路 2,當我們對string進行種種操作...
C (類和物件)
類成員函式 類的成員函式指標那些把定義和原型寫在類定義內部的函式,就想類定義中的其他變數一樣。類訪問修飾符 類成員可以定義為public,private或protected。預設情況下是定義為private。建構函式 類的建構函式是一種特殊的函式,在建立乙個新物件是呼叫。析構函式 類的析構函式也是一...