c 類與物件入門

2021-09-12 14:55:22 字數 1377 閱讀 4124

c語言是面向過程的,關注的是過程,分析出求解問題的步驟,通過步驟解決問題

c++物件導向,關注的是物件,將一件事情拆分成不同物件,靠物件之間的互動完成

類的定義

class classname

;

class為定義類的關鍵字,classname為類的名字,{}中為類的主體,類中的元素為類的成員,類中的資料為類的屬性,預設訪問私有

struct也能定義類,預設訪問共有

class a

//宣告加定義

//成員變數

private:

int a;

int b;

char c;

};int main()

//-------------------------------------------

class b

void b::fun() //類外面定義 要加作用域宣告符::

訪問限定符:public private protected

在類外可以直接訪問public!! 不能訪問private

定義的類不佔記憶體,定義類的物件佔記憶體

用類型別建立物件的過程,稱為類的例項化!!,例項化出來的物件,占用實際的物理空間,儲存類成員的變數。

封裝

將資料和運算元據的方法進行有機的結合,隱藏物件的屬性和實現細節,僅對外公開介面和物件進行互動。

this 指標

class data

void display()

{cout<<_year<<" "<<_month<this 指標

c++編譯器給每乙個「成員函式」增加了乙個隱藏的指標引數,讓該指標指向當前物件,在函式體中的所有成員變數的操作,都是通過該指標去訪問。即使用者不需要來傳遞,編譯器自動完成。

const int* p1; //const 修飾int,指向的空間可以變,指向的內容不能變

int* const p2;//const 修飾指標,指標指向空間不能變 指向的內容可以變

this指標的特性

1.this指標的型別:類型別*const

2.只能在「成員函式」的內部使用

3.this指標的本質實際是乙個成員函式的形參,是物件呼叫成員函式時,將物件位址作為實參傳遞給this形參。

4.this指標是成員函式第乙個隱含的指標形參,一般情況通過ecx暫存器自動傳遞,不需要使用者傳遞

5.this指標不能為空!!做解引用的相關操作this指標一定不能為空!! 不適用this指標可以為空

C 類與物件入門

總結在c 中 宣告 declaration 與 定義 definition 是比較重要的兩個概念,只有宣告沒有定義的類和函式是不可以使用的。宣告 只是告訴編譯器有這麼乙個東西存在,但是沒有給他分配記憶體。所以你即沒有給他分配記憶體,又去使用他,那麼就會報錯誤。變數是乙個比較特殊的存在。在linux中...

C 類和物件入門

物件的含義是指具體的某乙個事物,即在現實生活中能夠看得見摸得著的事物。在物件導向程式設計中,物件所指的是計算機系統中的某乙個成分。在物件導向程式設計中,物件包含兩個含義,其中乙個是資料,另外乙個是動作。物件則是資料和動作的結合體。物件不僅能夠進行操作,同時還能夠及時記錄下操作結果。這是什麼玩意,通俗...

C 類與物件

程式設計模型 所有計算機均由兩種元素組成 和資料.精確的說,有些程式是圍繞著 什麼正在發生 而編寫,有些則是圍繞 誰正在受影響 而編寫的.抽象封裝 封裝是一種把 和 所操作的資料 在一起,使這兩者不受外界干擾和誤用的機制.繼承 繼承是指乙個物件從另乙個物件中獲得屬性的過程.是物件導向程式設計的三大原...