下面有个例子:
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 阅读( ...) 评论( ...)