6 3 1 3 常成員 靜態成員 友元

2021-10-04 13:38:14 字數 1228 閱讀 4656

特殊用途的成員

一、常成員:

1.常資料成員:

在類中定義的不能修改器值的一些資料成員,類似於變數,但是有自己的位址,

一經賦值,不能修改不同的物件其常資料成員的值可以不同

2.常成員函式:

使用const 來保護成員資料不被成員函式改變。

常成員函式不能更新物件的資料,也不能呼叫非const修飾的成員函式

(靜態成員函式,建構函式除外)

型別 函式名(參數列)const

3.常物件:

物件在初始化後不需要修改值。

普通物件既可以呼叫非常成員函式,也可以呼叫常成員函式

定義常物件時必須初始化

const 類名 物件名【(參數列)】;

類名 const 物件名【(參數列)】;

二、靜態成員:

- 宣告為static的類資料成員稱做靜態資料成員

- 宣告為static的類成員函式稱做靜態成員函式

能在類的範圍內共享資料。

- 宣告方法: static 型別名 變數名;

- sizeof運算子不計算靜態成員變數

使用靜態資料成員可以節省記憶體,因為它是所有物件所公有的,

因此,對多個物件來說,靜態資料成員只儲存一處,供所有物件共用。

#include

using

namespace std ;

class

counter

void

shownum()

};int counter :: num=0;

//在類外定義和初始化

int main (

)

輸出結果:

注意:

三、友元

- 宣告:

friend 型別 b(函式引數)

類的 靜態 常成員 及 友元

靜態成員 靜態成員 include using namespace std class m class1 static void fun2 int m class1 a 1,m class1 b 2,m class1 c 3 初始化時不加static,以免與一般靜態變數混淆 int main cla...

靜態資料成員 靜態成員函式 友元

建立靜態成員和友元的目的 建立靜態成員主要是解決資料共享問題,而建立友元的目的是為了讓某些函式訪問類中的私有成員。1 靜態資料成員 思考 為什麼要定義靜態資料成員?答 如果不定義為靜態資料成員,那麼每個物件都分別有乙個i的副本 拷貝 但定義為靜態資料成員之後,所有的物件共享有乙個i的副本,就是說i在...

靜態成員與友元

靜態成員與友元 1 實驗目的 學習友元函式的定義和原理。學習靜態資料成員和靜態成員函式的使用。學習靜態成員代替全域性變數實現物件間的共享。2 實驗內容 1 有如下類的定義。類成員函式copy用於實現兩個物件的相互拷貝,請完成該函式的實現。有兩種方法即用成員函式和友元函式實現 include incl...