const对象不能调用非const函数
非const对象可以调用const函数
常数函数(const )常数{ }的第一个常数:返回值是常数
第二个const:不能使用此函数更改a的值
第三个const:不能使用此函数更改对象的值
在类中,只要定义了对象,就会自动生成this指针。 此this指针可用于每个类的成员函数。 如果常数对象调用不是常数函数的函数,即缺少第三个常数,则此函数可能使用this指针修改此常数对象,这是不允许的。 但是在const函数中,我还想更改一些变量的值。 如果这些值更改不会对我的const对象构成威胁,请在这些特权变量之前添加mutable,让编译器闭上眼睛。
如果需要在const函数中调用其他函数,则该调用的子函数也必须是const,因此可以在类中重载一些函数。 也就是说,可以分别编写具有完全相同功能的常数函数和非常数函数