共用資料的保護

2021-07-10 03:30:13 字數 1551 閱讀 7609

一、常物件

* 類名 const 物件名 [(實參表列)] = const 類名 物件名 [(實參表列)]*

如果乙個物件被宣告為常物件,則不能呼叫該物件的非const型成員函式,目的是為了防止這些函式會修改常物件中資料成員的值。

常成員函式的宣告

void get()const;

如果一定要修改常物件中的某乙個資料成員的值,則應該對該資料成員宣告為mutable

mutable int count;

將const宣告為可變的資料成員,這樣就可以用宣告為const的成員函式來修改他的值。

二、常物件成員

1.常資料成員

eg : const int hour;

注意:

只能通過建構函式的引數初始化表對場資料成員進行初始化

下面是非法:

time::time( int h )

在類外定義建構函式,應寫成:

time::time(int h):hour(h){}
2.常成員函式

只能引用本類中的資料成員,而不能修改他們

宣告:

void

get() const; //const在最後

在宣告和定義函式時都要有const關鍵字,在呼叫時不用加const

注意:

常成員函式不能呼叫另乙個非const成員函式

二、指向物件的常指標

將指標變數宣告為const型,這樣指標值始終保持為其初值,不能改變。

定義:

類名 * const 指標變數名

例如:time * const ptrl = &t1;

指向物件的常指標變數的值不能改變,但可以改變其所指向物件的值。

如果想將乙個指標變數固定地與乙個物件相聯絡,可以將它指定為const型指標變數。

往往用常指標作為函式形參,目的是不允許在函式執行過程中改變指標變數的值。

三、指向常物件的指標變數

定義:

const char * ptrl;

指向常變數的指標可以指向const型,也可以指向非const型變數。

當指向非const變數時,通過指標訪問變數時,不能改變變數的值,不是以指標訪問變數時,可以改變變數值。

如果函式的形參是指向非const型變數的指標,實參只能用指向非const變數的指標。

指向常物件的指標最常用於函式形參,目的是保護形參指標所指向的物件,使他在函式執行過程中不被修改。

當希望在呼叫函式時物件的值不被修改,就應當把形參定義為指向常物件的指標變數,同時用物件的位址對實參(物件可為const可為非const)

c const 共用資料成員保護

const int pi 46 保證資料成員不被改變的物件,可以宣告為常物件class time private int hour int minute int sec intmain 類名 const 物件名 實參表列 const 類名 物件名 實參表列 常成員可以訪問常物件的資料成員 class...

資料的保護

一般資料保護條例 gdpr 歐盟通用資料保護條例 gdpr 取代資料保護指令95 46 ec,旨在協調整個歐洲的資料隱私法律,保護所有歐盟公民的資料隱私,並重塑整個地區在儲存和處理隱私資料上的管理方式。由於違反gdpr的規定,組織可能會被罰款高達全球年營業額的4 或2000萬歐元。比如,如果沒有客戶...

資料視窗的資料保護

在實際的應用中,開發人員經常希望自己提供給使用者的資料有選擇性地被修改,這就要求開發人員能夠對資料進行保護,通過程式約束使用者的修改範圍。當然靠使用者自己識別哪些可以修改哪些不能修改也能保證資料的選擇性修改,但這樣會降低應用程式的可靠性。可以把資料的保護分為三種情況 1 某些字段不論什麼條件下使用者...