1.如果将成员函数声明为常成员函数,则只能引用本类中的数据成员,而不能修改它们。例如:void get_time()const;//const的位置在函数和括号之后
const是函数类型的一部分,在声明函数和定义函数的时候都要用const关键字,在调用时不必加const.常成员函数可以应用const数据成员,也可以应用非const的数据成员。const数据成员可以被const成员函数引用,也可以被非const成员函数引用。
2.怎样引用常成员函数?
(1).如果在一个类中,有些数据成员的值允许改变,另一些数据成员的值不允许改变,则可以将一部分数据成员声明为const,以保证其值不被改变。非const成员函数可以引用这部分数据成员,并可以修改非const数据成员。
(2).如果要求所以的数据成员的值都不允许改变,这可以将所有的数据成员声明为const,或将对象声明为const(常对象),然后用const成员函数引用数据成员,这可以起到“双保险”的作用,切实保证了数据成员不被修改。
(3).如果定义了一个常对象,只能调用const成员函数,而不能调用非const成员函数。