在函数参数列表与函数体之间有const修饰的函数。const修饰的是this指针。
例如:
class User
{
char name[20];
char pass[7];
public:
User(const char* name,const char* pass)
{
strcpy(this->name,name);
strcpy(this->pass,pass);
show();
}
void show(void) const
{
strcpy(name,"Iwannachange"); //Error
cout << name << " " << pass << endl;
}
};
一旦加上了const,则不能在函数中加函数的值,普通函数可以调用常函数,而常函数只能调用常函数。
如果常函数中真的要修饰某个成员变量,则需要用 mutable 修饰这个成员变量
mutable char name[20];