一、const概念
1.1 const修饰数据成员
- 修饰数据成员的时候,初始化的
位置只能在参数列表里面。
初始化的位置只能在参数列表中
下一个就非常显而易见了——
被
const修饰的数据成员,不能被修改
1.2 const修饰成员函数
-
位置:声明之后,实现body之前
const的位置
-
特点:
- 不会修改数据成员(这里的数据成员指的是
类的数据成员,而不是const函数中自定义的变量)
- 可以访问const和非const数据成员,但是不能修改
非const数据成员(const数据成员当然是不能被修改的啊)
x是非const,也不能被修改
- 只能访问
const成员函数
两个函数都是const
-
构成重载
dis()函数被重载
但是——
-
const成员对象只能调用const成员函数 -
非const成员对象优先调用非const成员函数,如果没有非const成员函数,就调用const成员函数。
1.3 const修饰类对象
- const修饰函数,是从
函数的层面,不修改数据
体现在,【const函数】只能调用
const函数,不能调用非const函数
- const修饰对象,是从
对象的层面,不修改数据
体现在,const对象只能调用
const成员函数
注:
【const】和static, virtual这两个关键字不一样,【const】修饰成员函数的时候,必须声明和实现都加上
但是static, virtual这两个关键字只有在声明时候需要加,实现的时候不要加。

x是非const,也不能被修改
两个函数都是const






网友评论