一、const成員函數
將const加載函數的括號后面,稱為const成員函數,就像盡可能將const引用和指針用作函數形參一樣,只要類方法不修改調用對象,應將其聲明為const。否則,當函數無法確保調用const對象不被修改,編譯器將拒絕該函數。形如:
聲明:
void show() const;
函數定義的函數頭:
void Stock::show() const
二、作用域為類的常量
在類中聲明作用域為類的成員,例如
static const int Months = 12;
此時Months常量與其它靜態變量存儲在一起,屬于類本身,為所有對象共享。無論創建多少個對象,程序都只創建一個靜態類變量副本。不能省去static,因為類聲明并不創建對象,沒有存儲空間,沒法存儲成員值。
當然還有另一種方法是使用enum:
enum { Months = 12 };
其也只是在類聲明中,并沒有創建類數據成員,只是聲明一個符號名稱,相當于define。
新聞熱點
疑難解答