对象和函数都带const修饰符即是常对象与常函数
定义常对象
const Class class;
定义常函数
void fun() const{
}

使用了常对象后对象里的任何值都不可以改变

  1. 常对象只能调用常成员函数,不能调用普通成员函数 (除了隐式调用析构函数和构造函数),常成员函数是常对象的唯一对外接口;
  2. 现在编译系统只检查函数的声明,只要发现调用了常对象的成员函数,而且该函数未被声明为const,编译阶段就报错;
  3. 常对象在被定义时需要被初始化;