在C++中,常量(const)是一種特殊的變量,其值在程序運行過程中不能被修改。在類中,常量可以用來定義不可更改的屬性或者方法。這里有兩種主要的應(yīng)用方式:
const
的成員變量是只讀的,它們必須在構(gòu)造函數(shù)的初始化列表中進(jìn)行初始化,并且之后不能再被修改。這種方式可以確保類的某些屬性在對象創(chuàng)建后不會發(fā)生變化。class MyClass {
public:
// 構(gòu)造函數(shù)
MyClass(int value) : myConstValue(value) {}
// const成員函數(shù),返回const成員變量的值
int getConstValue() const {
return myConstValue;
}
private:
const int myConstValue; // const成員變量
};
const
關(guān)鍵字,表示這個函數(shù)是只讀的,不會修改類的任何成員變量。這樣的函數(shù)可以被用于獲取類的屬性值,而不用擔(dān)心它們被意外修改。class MyClass {
public:
// 構(gòu)造函數(shù)
MyClass(int value) : myValue(value) {}
// const成員函數(shù),返回成員變量的值
int getValue() const {
return myValue;
}
// 非const成員函數(shù),可以修改成員變量的值
void setValue(int value) {
myValue = value;
}
private:
int myValue;
};
在這個例子中,getValue()
函數(shù)被聲明為const
,所以它不能修改myValue
的值。而setValue()
函數(shù)沒有被聲明為const
,因此可以修改myValue
的值。