C++const修饰成员函数


常函数:

  1.成员函数后加const,称为常函数。

  2.常函数内不可以修改成员属性。

  3.成员属性声明时加关键字mutable后,在常函数中依然可以修改。

常对象:

  1.声明对象前加const,称为常对象。

  2.常对象只能调用常函数。

#include<iostream>
using namespace std;

class WLM
{
public:
    //this指针的本质是一个指针常量,指针的指向不可修改。
    //如果想让指针指向的值也不可修改,需声明常函数,即加一个const
    //常函数
    void func() const
    {
        //this->m_a =100;  //错误
        this->m_b = 100;    
    }

    void func2()
    {
    }

    int m_a;
    mutable int m_b;    //特殊变量,即使在常函数中也可以修改这个值
};

//常对象
void test1()
{
    const WLM wlm;
    //wlm.m_a = 100;    //错误
    wlm.m_b = 100;        //特殊变量,即使在常对象中也可以修改这个值
    wlm.func();            //常对象只能调用常函数
    //wlm.func2();        //错误
}

int _tmain(int argc, _TCHAR* argv[])
{
    test1();
    
    system("pause");
    return 0;
}

原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/277736.html

(0)
上一篇 2022年7月29日
下一篇 2022年7月29日

相关推荐

发表回复

登录后才能评论