syne

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

下面有个例子:

const Stock land = Stock("abc");

land.show();//这行报错

原因是show()函数的代码无法确保调用对象不被修改,而调用对象应该和const一样不被修改。

所以这里应该在函数声明里:  void show() const;

同时在函数定义的开头:  void Stock:: show() const  //最后补一个const,promise not to chang invoking object---保证函数不会修改调用对象

这种const成员函数和const引用以及const指针一样,只要类方法不修改对象,就应将其声明为const。

 

posted on 2018-06-25 09:58  syne  阅读(146)  评论(0)    收藏  举报