1. 程式人生 > >const修飾成員函式const修飾物件

const修飾成員函式const修飾物件

class person
{
public:
int age;
mutable int weight;
static int a;
void setvalue()const
{
//age = 20;錯誤,const修飾的普通成員函式,不能修改類中的普通成員
weight = 75;//const修飾的成員函式,可以更改用mutable修飾的普通成員變數
a = 3;//類中的靜態成員變數,不在類中,可以修改
}
void printperson()
{
cout << age << " " << weight << " " << a << endl;
}
};
int person::a = 0;
void test()
{
const person per;
per.setvalue();//常物件只能訪問常成員函式
//per.printperson();常物件不可以訪問非常成員函式
per.a = 1;//常物件可以訪問並修改static成員
int v = per.age;//常物件可以訪問普通成員變數
//per.age = 2;常物件不可以修改普通成員變數
per.weight = 80;//常物件可以修改用mutable修飾的成員變數
}