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