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