const成员函数
class student { string name; int score; public: student(string n="XiaoM",int s=90):name(n),score(s){}; void _show(); }; void student::_show() { cout<<name<<":"<<score<<endl; }
对于这个类,如果定义const student stu;
在调用成员函数_show时候,编译器将报错,因为无法确定_show()是否会对对象进行更改,所以编译不能通过。
解决办法在成员函数定义和声明时候在括号后边加上const关键字 。
class student { string name; int score; public: student(string n="XiaoM",int s=90):name(n),score(s){}; void _show() const; }; void student::_show() const { cout<<name<<":"<<score<<endl; }
posted on 2018-03-31 14:41 HelloWorldTotti 阅读(134) 评论(0) 编辑 收藏 举报