C++函数名后面有个const
函数名后面加const表示该函数是一个常成员函数,即该函数不会修改类的任何成员变量。
在C++中,常成员函数通过在函数声明和定义后添加const
关键字来标识。常成员函数不能修改类的任何成员变量,这保证了类的接口的稳定性。例如:
class Point {
public:
int GetX() const; // 常成员函数,不能修改成员变量
xVal
int GetY() const; // 常成员函数,不能修改成员变量
yVal
private:
int xVal, yVal;
};
在上面的例子中,GetX()
和GetY()
都是常成员函数,因为它们不会修改xVal
和yVal
成员变量1。
常成员函数的用途和限制
- 用途:常成员函数通常用于获取类的状态信息,而不改变类的状态。例如,获取对象的属性值。
- 限制:常成员函数不能调用非const成员函数,因为非const成员函数可能会修改类的成员变量,这与const成员函数的定义相冲突。例如:
const Point p;
p.SetPt(1, 2); // 错误,SetPt是修改成员变量的非const成员函数
p.GetX(); // 正确,GetX是常成员函数
SetPt
会导致编译错误,因为SetPt
可能会修改对象的成员变量,而p
是一个const对象,其成员变量不应被修改
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/18536084,如有侵权联系删除