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