声明对象时可以用const进行修饰,称为常对象。常对象的数据成员值在对象的整个生存期间内不能被改变。常对象必须进行初始化,而且不能更新。
还可以用const修饰类成员,如下:
1.常成员函数
使用const关键字修饰的函数为常成员函数,常成员函数声明的格式为:
类型说明符 函数名(参数表) const ;
const是函数类型的一个组成部分,因此在函数的定义部分也要带const关键字。
如果将一个对象说明为常对象,则通过该对象只能调用它的常成员函数,而不能调用其他成员函数。
无论是否通过常对象调用常成员函数,在常成员函数调用期间,目的对象都被视为常对象,因此常成员函数不能更新目的对象的数据成员,也不能针对目的对象调用该类中没有用const修饰的成员函数。
const关键字可以用于对重载函数的区分。
2.常数据成员
就像一般数据一样,类的成员函数也可以是常量,使用const说明的数据成员为常数据成员。如果一个类中说明了常数据成员,那么任何函数中都不能对该成员赋值。
常引用:
如果在声明引用时用const修饰,被声明的引用就是常引用。常引用所引用的对象不能被更新。