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;
} 
原文地址:https://www.cnblogs.com/achao123456/p/8682136.html