常对象:
在定义对象时指定对象为常对象,常对象中的数据成员为常变量并且必须要有初值
Time const t1(12,34,46);
这样ti中所有数据成员的值都不能修改
如果一个对象声明为常对象,那么则不能调用该对象的非const型成员函数,这是为了防止这些函数会修改数据成员。
常成员函数可以访问数据成员,但不能修改。
常对象成员:
1.常对象成员
只能通过构造函数的参数初始化表对常数据成员进行初始化,不能采用在构造函数中对常数据成员赋初值的方法。因为常数据成员是不能被赋值的。
2.常成员函数
只能引用数据成员,而不能修改。
指向对象的常指针:
将指向对象的指针变量声明为const型,这样指针值始终保持为其初值,不能改变。
Time * const p1=&t1; const位置在指针变量前面,表示指针p1为常值
指向常对象的指针
const char *p1 const位置在最左侧,与类型名char紧连,表示指针变量p1指向的char变量时常变量,不能通过p1改变其值。
如果一个变量已被声明为常变量,只能用指向常变量的指针指向它。