您的位置:首页 > 其它

常量成员函数

2017-11-13 16:27 330 查看
参考http://blog.csdn.net/xuxiatian/article/details/51247972

常量成员函数声明:如:int get() const;

规则:

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

2.常量成员函数在定义和声明中都应加const限定

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

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

意义:

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

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

原因:

对于X类型的非常量成员函数而言,其this指针的类型是 X * const,该指针自身是常量;但是对于X类型的常量成员函数而言,其this指针的类型是const X * const,是一个常量指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: