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; }