c 靜態方法和靜態成員

2021-09-30 20:51:43 字數 1223 閱讀 5082

便於實現同一類的不同物件之間資料共享

靜態成員的提出是為了解決資料共享的問題。實現共享有許多方法,如:設定全域性性的變數或物件是一種方法。但是,全域性變數或物件是有侷限性的。這一章裡,我們主要講述類的靜態成員來實現資料的共享。

靜態資料成員

在類中,靜態成員可以實現多個物件之間的資料共享,並且使用靜態資料成員還不會破壞隱藏的原則,即保證了安全性。因此,靜態成員是類的所有物件中共享的成員,而不是某個物件的成員。

使用靜態資料成員可以節省記憶體,因為它是所有物件所公有的,因此,對多個物件來說,靜態資料成員只儲存一處,供所有物件共用。靜態資料成員的值對每個物件都是一樣,但它的值是可以更新的。只要對靜態資料成員的值更新一次,保證所有物件訪問更新後的相同的值,這樣可以提高時間效率。

靜態資料成員的使用方法和注意事項如下:

1、靜態資料成員在定義或說明時前面加關鍵字static。//靜態變數的定義

2、靜態成員初始化與一般資料成員初始化不同。靜態資料成員初始化的格式如下:

《資料型別》《類名》::《靜態資料成員名》=《值》 //靜態變數的初始化

這表明:

3、靜態資料成員是靜態儲存的,它是靜態生存期,必須對它進行初始化。

4、引用靜態資料成員時,採用如下格式:

《類名》::《靜態成員名》 //靜態變數的使用方式

如果靜態資料成員的訪問許可權允許的話(即public的成員),可在程式中,按上述格式來引用靜態資料成員。

下面舉一例子,說明靜態資料成員的應用:

class

statictest

;#include "statictest.h"

#include

using namespace std;

int statictest:

:sum =0;

//靜態成員在此初始化

statictest:

:statictest

(int a,

int b,

int c)

void statictest:

:getnumber()

void statictest:

:getsum()

void statictest::f1

(statictest &s)

#include "statictest.h"

#include

intmain

(void

)

靜態方法和靜態成員變數

所謂靜態方法和靜態成員變數,是指那些用static關鍵字修飾的方法或者變數,比如我們例子中的private static string company就是乙個靜態成員變數,而public static string getcompany 和public static void setcompany ...

C 靜態成員和靜態成員函式

一 靜態資料成員 類體中的資料成員的宣告前加上static關鍵字,該資料成員就成為了該類的靜態資料成員。和其他資料成員一樣,靜態資料成員也遵守public protected private訪問規則。同時,靜態資料成員還具有以下特點 1 靜態資料成員的定義。靜態資料成員實際是類域中的全域性變數,其定...

靜態成員和靜態成員函式

靜態成員和靜態成員函式 普通成員變數每個物件有各自的乙份,而靜態成員變數一共就乙份,為所有物件共享。靜態成員物件不需要通過物件就能訪問 class crectangle crectangle crectangle int i,int j crectangle crectangle int crect...