在C++中,常量(const)是一种特殊的变量,其值在程序运行过程中不能被修改。在类中,常量可以用来定义不可更改的属性或者方法。这里有两种主要的应用方式:
- 常量成员变量(Constant Member Variables):
在类中声明为
const
的成员变量是只读的,它们必须在构造函数的初始化列表中进行初始化,并且之后不能再被修改。这种方式可以确保类的某些属性在对象创建后不会发生变化。
class MyClass { public: // 构造函数 MyClass(int value) : myConstValue(value) {} // const成员函数,返回const成员变量的值 int getConstValue() const { return myConstValue; } private: const int myConstValue; // const成员变量 };
- 常量成员函数(Constant Member Functions):
在类的成员函数声明后添加
const
关键字,表示这个函数是只读的,不会修改类的任何成员变量。这样的函数可以被用于获取类的属性值,而不用担心它们被意外修改。
class MyClass {
public:
// 构造函数
MyClass(int value) : myValue(value) {}
// const成员函数,返回成员变量的值
int getValue() const {
return myValue;
}
// 非const成员函数,可以修改成员变量的值
void setValue(int value) {
myValue = https://www.yisu.com/ask/value;>
在这个例子中,getValue()
函数被声明为const
,所以它不能修改myValue
的值。而setValue()
函数没有被声明为const
,因此可以修改myValue
的值。