一、常类型的引入
是为了既保证数据共享又防止数据被改动。
二、常数据成员
定义格式:
const 数据类型 数据成员名;
说明:
1. 常数据成员只能通过构造函数用初始化列表进行初始化,而任何其他函数都不能对该成员赋值;
三、常成员函数
说明格式:
类型说明符 函数名(参数表)const;
说明:
1. 在函数实现的部分要带关键字const(因为const是函数类型的一个组成部分);
2. 关键字const可以被用于参与对重载函数的区分;
3. 常成员函数不能更新对象的数据成员,也不能调用该类中的普通成员函数,这就保证了在常成员函数中绝对不会更新数据成员的
值;
4. 常成员函数是常对象惟一的对外接口,这是C++从语法机制上对常对象的保护。
四、常对象
说明形式:
类名 const 对象名[(参数表)]; 或 const 类名 对象名[(参数表)];
说明:
1. 在定义对象时,必须进行初始化,而且不能被更新;
2. 常对象只能调用它的常成员函数,而不能调用普通的成员函数;
3. c++不允许直接或间接地更改常对象的数据成员。
五、程序示例
程序结果:
m1 = 30
n1 = 40
m2 = 10
n2 = 20