溫馨提示×

C++ constant在類中的應(yīng)用

c++
小樊
83
2024-09-14 09:58:37
欄目: 編程語言

在C++中,常量(const)是一種特殊的變量,其值在程序運行過程中不能被修改。在類中,常量可以用來定義不可更改的屬性或者方法。這里有兩種主要的應(yīng)用方式:

  1. 常量成員變量(Constant Member Variables): 在類中聲明為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成員變量
};
  1. 常量成員函數(shù)(Constant Member Functions): 在類的成員函數(shù)聲明后添加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的值。

0