認識和理解C 類(或C 類淺識)

2021-12-29 23:27:53 字數 772 閱讀 7716

類是物件導向程式設計的核心,它實際上是一種新的資料型別。類是對某一類物件的抽象,而物件是某一種類的例項。因此,類和物件是密切相關的。  

類的定義一般分為宣告部分和實現部分。

宣告部分用來宣告該類中的成員,包含資料成員的宣告和成員函式的宣告。成員函式是用來對資料成員進行操作的,又稱為「方法」。

實現部分用來對成員函式進行定義。

概況說來,宣告部分是告訴使用者「幹什麼」,而實現部分是告訴使用者「怎麼幹」。  

c++中定義類的一般格式如下:

class 類 //{}內部分稱為類體

;各個成員函式的實 //定義的後面是不加「;」  

其中,class是定義類的關鍵字,class的後面是使用者定義的類名,通常是大寫的c字母開始的表示作為類名,c用來表示類,以與物件、函式及其他資料相區別。類中的資料和函式是類的成員,分別稱為資料成員和成員函式。需要說明的是,由於資料成員是用變數來描述的,因此資料成員又稱為「成員變數」。

類中的關鍵字public和private宣告了類中的成員和程式的其他部分的關係。對於public類成員來說,它們是公有的,能被外面的程式訪問;對於private類成員來說,它們是私有的,只能由類中的(成員)函式所使用,而不能被外面的程式所訪問。  

各個成員函式的實是類定義中的實現部分,這部分包含所有在類體中宣告的函式的定義(即對成員函式的實現)。如果乙個成員函式在類體中定義,實現部分將不出現。所有的成員函式都在類體中定義,則實現部分可以省略。而需要說明的是,當類的成員函式的函式體在類的外部定義時,必須由作用域運算子「::」來通知編譯系統該函式所屬的類。  

C 類 記憶體對齊和類大小理解

首先,預設的塊對齊長度是4位元組,此外也可以通過 pragma pack x 修改,同時,自己修改完之後記得使用 pragma pack 恢復預設值。此外,又分了幾種情況 1 如果有虛函式,則會儲存虛函式表的位址 僅乙個位址,4位元組或8位元組 該位址是存放在類記憶體的最開始的地方。2 如果出現比x...

靜態類理解(C )

靜態類成員有靜態變數和靜態方法 靜態變數又稱類變數,是在類的所有例項間共享,而且直接使用類名來引用!靜態方法也是通過類名來觸發 c code class staticperson class person public string public string profession 建構函式初始化!...

C 淺拷貝和深拷貝(String類)

簡單的來說,淺拷貝 是增加了乙個指標,指向原來已經存在的記憶體。而 深拷貝 是增加了乙個指標,並新開闢了一塊空間 讓指標指向這塊新開闢的空間。淺拷貝 在多個物件指向一塊空間的時候,釋放乙個空間會導致其他物件所使用的空間也被釋放了,再次釋放便會出現錯誤 為了形象化說明什麼是深拷貝和淺拷貝,我們就先寫乙...