一、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
这两个关键字只有在声明时候需要加,实现的时候不要加。
网友评论