- 用const修饰的声明数据成员称为常数据成员
- 用const修饰的声明成员函数称为常成员函数
- 用const修饰的定义对象称为常对象
(一)用const修饰的声明数据成员称为常数据成员
int const
不能省略数据类型,可以添加 public private等访问控制符。
说明:
- 任何函数都不能对常数据成员赋值。
- 构造函数对常数据成员进行初始化时也只能通过初始化列表进行。
- 常数据成员在初始化时必须赋值或称其必须初始化.
- 如果类有多个默认构造函数必须都初始化常数据成员。
通过下面例子来理解常数据成员以上4点。
A、请指出下面程序的错误
错误一:不能对常数据成员在类中初始化、要通过类的构造函数,只有静态常量才能这样初始化。
错误二:没有合适的默认构造函数可用。因为有常量cctwl没有初始化必须初始化所有常数据成员。
更正后结果如下:
B、多个构造函数下的常数据成员
请指出下面程序的错误:声明:<类型标志符>函数名(参数表)const;
说明:
- const是函数类型的一部分,在实现部分也要带该关键字。
- const关键字可以用于对重载函数的区分。
- 常成员函数不能更新任何数据成员,也不能调用该类中没有用const修饰的成员函数,只能调用常成员函数和常数据成员。
A、通过例子来理解const是函数类型的一部分,在实现部分也要带该关键字。
B、通过例子来理解const关键字的重载
D、通过例子来理解
1、常成员函数可以被其他成员函数调用。
2、但是不能调用其他非常成员函数。
3、可以调用其他常成员函数。