常量成员函数
在C++编程中,当在一个类的成员函数后添加const关键字时,这个成员函数就被称为常量成员函数。
定义
在C++编程中,const关键字不仅用于定义常量对象,还可用于修饰类的成员函数和数据成员。若在类的成员函数后附加const关键字,则此成员函数成为常量成员函数。常量成员函数的定义形式为:<返回类型> 成员函数名(参数表) const。
特性
语法特性
常量成员函数与一般成员函数相似,它们的定义部分包括函数头和函数体,这些定义部分既可以在类内部书写,也可在类外部书写。
内存特性
常量成员函数本质上将this指针在其函数体内定义为指向常量的常量指针。因此,在常量成员函数体内,this指针无法重新定位,始终指向调用该函数的对象,并且该对象的数据成员不可更改。
调用规则
对象调用
- 常量对象只能调用其常量成员函数,而不能调用非常量成员函数。
- 非常量对象既能调用常量成员函数,也能调用非常量成员函数。
函数互访
- 非常量成员函数能够访问同一类中的常量成员函数。
- 常量成员函数则无法访问同一类中的非常量成员函数。
名称冲突处理
当常量成员函数与非常量成员函数具有相同的名称时,这形成了重载成员函数的情况。在这种情况下,常量对象会调用对应的常量成员函数,而非常量对象则会调用相应的非常量成员函数。
参考资料
C++常量成员函数.CSDN博客.2024-11-21
C++(常量成员函数).博客园.2024-11-21
C++常量成员函数(类成员函数后加const、类成员函数参数列表后加const)常量对象(类名前加const)和非常量对象(后const).CSDN博客.2024-11-21