const 成员函数 · 只读承诺
函数名后加 const,承诺「不修改对象数据」:能读不能写;const 对象只能调用 const 方法
内存里的对象
Point p
成员
int
x =
3
① const 成员函数:只读访问 ✓
int getX()
const
{
return x;
// 读,不改
承诺成立:只读取 x,编译通过
② const 函数内试图写 → 报错 ✗
int getX()
const
{
x = 7;
// 改成员
违背承诺:const 函数不能修改数据成员
③ const 对象:只能调用 const 成员函数
const Point p;
常量对象 · 数据被保护
p.getX() ✓ const
p.setX(5) ✗ 非 const,报错
▶ 重播