C/C++教程

C++const修饰成员函数

本文主要是介绍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;
}
这篇关于C++const修饰成员函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!