C 類和物件詳解

2021-10-25 04:21:37 字數 2562 閱讀 9324

2、封裝

3、類的例項化

4、this指標

5、類六大預設函式

6、再談建構函式

7、static成員

8、c++11的成員就地初始化

9、友元

10、內部類

1.1 面向過程

面向過程是一種自上而下的程式設計方法。過程式的特徵是以函式為中心,用函式作為劃分程式的基本單位。

關注的是過程,分析出求解問題的步驟,通過函式呼叫逐步解決問題。

優點:

缺點:

1.2 物件導向

物件導向是一種自下而上的程式設計方法。以資料為中心,類是表現資料的單位,是劃分程式的基本單位。

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

優點:

缺點:物件導向的三大特性:封裝、繼承、多型。

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

定義了乙個類,相當於定義了乙個新的作用域。

用類型別建立物件的過程,稱為類的例項化。

乙個類可以例項化出多個物件,例項化出的物件占用實際的物理空間,儲存類成員變數。

類中只儲存成員變數,成員函式存放在公共的**段。

3.1 空類的大小為什麼是乙個位元組?

注意:c++編譯器給每個「非靜態的成員函式「增加了乙個隱藏的指標引數,即「this指標」,讓 this 指標指向當前物件。在函式體中所有成員變數的操作,都是通過this指標去訪問。

4.1 this指標的特性

this指標型別:類型別* const

作用範圍:只能在「成員函式」的內部使用

this指標本質:this指標是成員函式第乙個隱含的指標形參。在物件呼叫成員函式時,將物件位址作為實參傳遞給this形參

this指標傳遞:一般情況由編譯器通過ecx暫存器自動傳遞,不需要使用者傳遞。

初始化列表:以乙個冒號開始,接著是以逗號分隔的資料成員列表,每個成員變數後跟乙個放在括號中的初始值或表示式

class date

private:

int _year;

int _month;

int _day;

};

6.1 注意

6.2 explicit關鍵字

c++中的explicit關鍵字只能用於修飾只有乙個引數的類建構函式,它的作用是表明該建構函式是顯示的。另乙個關鍵字是implicit,類建構函式預設情況下,宣告為隱式的。

用explicit修飾建構函式,將會禁止單參建構函式的隱式轉換

7.1 概念

宣告為static的類成員稱為類的靜態成員。用static修飾的成員變數,稱為靜態成員變數,用static修飾的成員函式,稱為靜態成員函式靜態成員變數一定要在類外初始化

7.2 特性

7.1 面試題中常見的c++常用關鍵字

非靜態成員變數,可以在類宣告中進行就地列表初始化(=或{}都可以),但初始化列表的效果優於就地初始化。

class b

int _b;};

class a

private:

// 非靜態成員變數,可以在成員宣告時就地初始化

int a =10;

b b =20;

int*p =

(int*)

malloc(4

);static

int n;

};

友元提供了一種突破封裝的方式。

9.1 友元函式

友元函式可以直接訪問類的私有成員,它定義在類的外部的普通函式,不屬於任何類,但需要在類的內部宣告,宣告時需要加friend關鍵字

class date

private:

int _year;

int _month;

int _day;};

ostream& operator<<

(ostream& _cout,

const date& d)

istream& operator>>

(istream& _cin, date& d)

intmain()

9.2 友元函式特性

9.3 友元類

友元類的所有成員函式都可以是另乙個類的友元函式,都可以訪問另乙個類中的非公有成員。

10.1 概念

如果乙個類定義在另乙個類的內部,這個內部類就叫做內部類。

class a};

};int a:

:k =1;

intmain()

c 類 物件詳解

c 在c語言的基礎上增加了物件導向程式設計 類是c 的核心特性 類用於指定物件的形式,包含了資料的型別和處理資料的方法。類中的資料和方法稱為類的成員。定義乙個類,本質就是在這個類中定義資料型別,和相應處理該資料的方法。形式為 class 類名 例如 class box int main 執行結果 v...

C 類 物件 方法和屬性詳解

c 類 物件 方法和屬性詳解 c 類 物件 方法和屬性詳解 1 物件 現實世界中的實體 世間萬物皆物件 2 類 具有相似屬性和方法的物件的集合 3 物件導向程式設計的特點 封裝 繼承 多型 4 物件的三要素 屬性 物件是什麼 方法 物件能做什麼 事件 物件如何響應 相互關係 類是物件的抽象,物件是類...

C 中類和物件的詳解

定義乙個類時,相當於定義了乙個資料型別的藍圖。這實際上並沒有定義任何的資料,但它定義了類的名稱意味著什麼,也就是說,類的物件由什麼組成及在這個物件上可執行什麼操作。物件是類的例項,構成類的方法和變數稱為類的成員資料。類是對於某些資料的乙個架構概念的綜合 類,是方法和屬性的乙個封裝,研究物件的乙個類別...