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;
}
复制代码
posted @   萌萌的保镖  阅读(99)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示