14.0 C++远征:常对象成员和常成员函数
5-1常对象成员和常成员函数
1.const修饰的常量需要初始化列表来初始化
2.const除可修饰普通的数据成员外,还可以修饰对象成员和成员函数
3.const成员函数中不能修改数据成员的值,因为该函数的隐藏指针*this也被const所修饰,不能改变指针指向地址的数据
4.若两个函数名和参数都相同,但是其中一个函数被const修饰,则这两个函数互相重载
5.调用const成员函数时要加上const关键字
1.常对象成员
用const修饰对象成员,对象成员就变成了常对象成员。
2.常成员函数
用const修饰成员函数,成员函数就变成了常成员函数。(const要放在函数的最后。)
常成员函数的定义可以理解为:
常成员函数里的const实质上是修饰隐藏的参数this对象指针。
3.使用了const关键字,一旦初始化就不能再修改,常对象成员用初始化列表初始化
4.互为重载的普通成员函数和常成员函数
如何调用void changeX() const;呢?
需将对象声明为常对象,这样的对象才会调用常成员函数。