const成员函数就是我们平常所说的常量成员函数,其形式如下所示:
void print() const;
注意:const关键字只能位于函数的形参列表之后,位于其他地方就不表示该函数是常量函数。const关键字位于其他地方所表示的含义不属于本文的关注点。通过学习,对于const成员函数,我总结了以下三点:
1.const成员函数不能修改类中的数据成员。
如上提到的print函数,它的本意是打印类中的数据成员,那么就不应该修改数据成员,这时候就需要把print函数定义成const成员函数。
2.const成员函数不能调用非const成员函数。
有这样的规定我想大概是,如果非const成员函数有对数据成员进行修改,也就间接地违背了第一条规则。
3.const成员函数能够同时被普通对象和const对象调用,而非const成员函数只能被普通对象调用。换句话说,const对象只能调用const成员函数。