--->Const为常函数
(成员函数后+const)
1.常函数内不可修改成员属性
2.成员属性声明时+关键字mutable后,在常函数中依然可以修改
--->常对象:
1.声明对象前+const
2.常对象只能调用常函数
一.常函数
1.
//常函数
class Person()
{
public:
void showPerson()
{
m_A = 100;
}
int m_A;
}
void test01()
{
Person p;
p.showPerson();
}
2.
//在非静态成员函数后+const~常函数
void showPerson()const
{
this->m_A = 100;
}
3.
void showPerson()const
{
this->m_B = 100;
}
mutable int m_B;
二.常对象
三.总结
1.常对象只能调用常函数,不可以调用普通函数,因为普通成员变量可以修改属性
2.const+在对象前,函数后
3.只能通过构造函数的初始化表进行初始化
const int hour=6的写法是错误的!!!!!!!!!!!!!!!!!!!!!!!!!!!!
4.this指针指向的值可以修改,指针的指向是不可以修改的,但当其变为常对象时,指针指向的值也不可以修改了