常函数:
    1:成员函数后面加const 后我们成为这个函数为常函数
    2:常函数内不可以修改成员属性
    3:成员属性声明时加关键字mutable后 在常函数中就可以修改了。

    常对象
    1: 声明对象前加const称该对象为常对象
    2:常对象只能调用常函数

    示例:
    #include
    class Person
    {
    public:
    //this指针的本质 是指针常量 指针的指向是不可以修改的
    //const Person const this;
    /
    在成员函数后面加const,修饰的是this指向,
    让指针指向的值也不可以修改
    若是需要修改则需要用到特殊变量mutable/
    Preson()
    {
    }
    void ShowPerson() const
    {
    this->m_b=100;//这个有特殊变量可以修改
    // this->m_a=100;//这个没有特殊变量 添加完const this指针的指向变量也不可以修改
    // this=NULL;//this指针是不可以修改指向的 但是可以修改变量
    }
    void show()
    {

    }
    int m_a;
    mutable int m_b;
    };
    void test1()
    {
    const Person p;//在对象前加const, 变为常对象 //前提是类中需要有构造函数。
    p.m_a=100;//常对象也是只能修改带特殊变量的值
    p.m_b=100;//m_b是特殊变量,在常对象下也可以修改
    //常对象 只能调用常函数
    p.ShowPerson();
    // p.show();/
    常对象 不可以调用普通函数
    // 因为普通函数可以修改属性*/
    }
    int main()
    {

    }
    这里面有错误还需要检查。

    网址:
    https://www.bilibili.com/video/BV1et411b73Z?p=117