// Mutable.cpp : 定义控制台应用程序的入口点。
//通过此实例了解mutable 关键字
#include "stdafx.h"
#include <string>
#include <process.h>
#include <iostream>
using namespace std;
class CPerson
{
public:
void Set(string sex,string name) const//这里将函数修饰为const,表明该函数不能改变成员变量的值
{
this->m_name=name;
this->m_Sex=sex;
}
void Show() const
{
cout<<m_name<<" "<<m_Sex<<endl;
}
private:
mutable string m_Sex;//将成员变量修饰为mutable,表明被修饰为const的函数可以改变成员变量的值
mutable string m_name;
};
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"------------mutable 解除const 对函数的禁制 测试案例--------------"<<endl;
CPerson *p=new CPerson();
p->Set("tiance","男");
p->Show();
system("pause");
return 0;
}