常成员变量是用关键字const来声明成员变量, const位于变量前或类型前都一样。
使用特点:
(1)常成员变量只能通过构造函数的初始化表对常成员变量进行初始化。
(2)常成员变量所在类中所有构造函数都必须通过初始化表对常成员变量进行初始化。
(3)常成员变量可以像普的成员变量一样被访问,但是其值不能被修改。
常成员函数: 用const来修饰的成员函数 ,const位于函数的括号之后, 定义和声明的地方都要加上const。
1、常成员函数可以用this访问成员变量,但是不能修改this访问的成员变量。(包括常成员变量和非常成员变量)
2、 常成员函数体中用this访问成员函数时,只能访问的常成员函数(常成员函数只能访问常成员函数)
定义常对象形式为:
类名 const 对象名[(实参表列)];或const 类名 对象名[(实参表列)];
例: class Time {
public:
......
Time() ;
Time(int i);
......
};
const Time time1;
Time const time2;
const Time time3(100);
Time const time4(200);
常对象特点
(1)常对象中所有的成员变量的值都不能被修改
(2)常对象访问函数时只能访问常成员函数;