C++中的常量函数

(1)常量成员函数不修改对象。

(2)常量成员函数在定义和声明中都需要加上 const;

(3)非常量成员函数不能被常量成员函数调用,但构造函数和析构函数除外。

(4)常量(cosnt对象)对象不能调用常量成员函数。(const对象的数据成员在对象寿命周期内不能改变,因此其只能调用常量成员函数)。

意义:

1.使成员函数的意义更加清楚,将成员函数分修改对象和不修改对象俩类。

2.增加程序的健壮性,常量成员函数企图修改数据成员或调用非常量成员函数,编译器会指出错误。

对于X类型的非常量成员函数而言,其this指针的类型是X* const,该指针自身是常量;但是对于X类型的常量成员函数而言,其this指针的类型是const X* const,是一个常量指针。

posted @ 2017-11-09 11:27  hai5111  阅读(2578)  评论(0编辑  收藏  举报