类的const成员包括const数据成员和const成员函数;
1.const数据成员:
和普通的const变量一样,定义时初始化,且不能修改
2.const成员函数:
- const成员函数只能访问其他的const成员函数,而不能访问非const成员函数
- const可以修饰static数据成员,在定义时初始化,但仍要在类外进行声明
- const成员函数不能修改类的对象,即不能修改数据成员,但当数据成员被mutable修饰时,可以修改
- const不能修饰static成员函数,因为const表示不修改类的对象,而static成员函数属于类,不涉及到对象
const成员函数可以访问非const对象的非const数据成员、const数据成员,也可以访问const对象内的所有数据成员;
- 非const成员函数可以访问非const对象的非const数据成员、const数据成员,但不可以访问const对象的任意数据成员;