類裡的const和enum

2021-06-07 15:20:13 字數 716 閱讀 6390

這一部分介紹const用於類的兩種辦法。程式設計師可能想在乙個類裡建立乙個區域性常量,

將它用在常數表示式裡,這個常數表示式在編譯期間被求值。然而,const的意思在

類裡是不同的,所以必須使用另一技術:列舉,以達到同樣的效果。

我們還可以建立

乙個類物件常量,為了保證乙個類物件為常量,引進了const成員函式:

對於乙個常

量物件,只能呼叫const成員函式。把乙個const放在類裡,它會在每個類對

象裡分配

儲存並代表乙個值,這個值一旦被初始化以後就不能改變。在乙個類裡使用

const的意

思是「在這個物件的生存期內,這是乙個常量」。然而,對這個常量來講,每個

不同的對

象可以含有乙個不同的值。

類裡的const必須在建構函式的初始化引數列表裡進

行初始化。

因為在類物件裡進行了存

儲空間分配,編譯器不能知道const的內容是什麼,

所以不能把

它用作編譯期間的常量。

這意味著對於類裡的常數表示式來說,其是無用的,

即我們不能這樣寫:

class bob ;

那麼怎樣建立乙個可以用在常數表示式裡的類常量呢?乙個常用的方法是用乙個不帶

例項的無標記enum。列舉的所有值必須在編譯時建立:

class bunch ;

inti[size]; };

類的const和非const成員函式的過載

類的const和非const成員函式的過載 只要了解過c 的操作符過載的語法,很快就可以寫出下面這個操作符過載函式 char operator int posion function 1 注意,這裡該函式的返回值為乙個引用,否則str 0 c 這樣的語句就會不合法,因為str 0 將是乙個左值。那麼...

類的const和非const成員函式的過載

類的const和非const成員函式的過載 只要了解過c 的操作符過載的語法,很快就可以寫出下面這個操作符過載函式 char operator int posion function 1 注意,這裡該函式的返回值為乙個引用,否則str 0 c 這樣的語句就會不合法,因為str 0 將是乙個左值。那麼...

python的列舉類 Enum

列舉 from enum import enum,unique 1 預設列舉類 month enum month jan feb mar for name,member in month.members items print name,member,member.value value屬性是自動賦...