C 類的特殊成員

2021-09-19 08:06:34 字數 847 閱讀 6094

靜態成員 static

static int m;

int ca::m=0;

類中的靜態資料初始化,靜態成員不屬於物件,無法通過物件的操作進行初始化,它是屬於類的,初始化的時候不管公有私有都在類外進行

類中的靜態資料成員,可以被普通函式訪問

常量成員:

類中的常量成員分為兩種:常量資料成員,常量函式成員

const int a;//類的常量資料

void add() const;//類的常量函式成員,const必須寫在函式的後面

不能對自身的變數進行修改,這是常量函式的特性

只要是this所指的所指的所有資料,受語法的限定,在這個函式裡面都不能被修改

除此之外的形引數據,零食變數,不屬於this指標指的資料都可以改

優勢:

友元:類的特點是封裝,友元是c++為使用者提供的打破這種封裝(資料隱藏)的分類

友元:分為兩種1.友元函式,2.友元類

1.友元函式

友元函式不是物件的成員,不管紮起**定義,但是這個函式有權呼叫類的所有成員(不管是私有還是保護)

friend void a(ca & srca);//友元函式的宣告

void a(ca &srca)//友元函式定義

//友元即使在類中定義也不屬於類

2.友元類

類b為類a的友元類

類b與類a時兩個類,友元類b類必須在類外說明,b類所有成員函式都有權訪問a類的所有成員

friend class cb//友元類宣告

;

友元的三個特點

C 類的特殊成員函式

類的特殊成員函式 特殊成員函式的難點在於它們何時被呼叫,以及可能產生的一些問題。建構函式 每個類都有自己的建構函式,即使乙個建構函式都沒定義,編譯器也會自動生成預設建構函式。建構函式下面有細分的種類 建構函式 每個物件建立時,都會呼叫建構函式。如果物件是封閉類,那麼生成乙個物件時,先呼叫成員物件類的...

C 特殊成員

必須採用初始化引數列表的方式進行初始化 const資料成員不能被改變 寫法 const放在引數列表的後面 常成員函式可以形成過載 常成員函式不能修改基本資料成員 示例 include include using namespace std const資料成員 1.必須採用初始化引數列表的方式進行初始...

C 基礎 類的預設特殊成員函式

c 中類的特殊成員函式 special member functions 是指,在某些特定情況下,即使程式設計師沒有定義,編譯器也會定義的函式包括 1.預設建構函式 default constructor 2.拷貝建構函式 copy constructor 3.移動建構函式 move constrc...