1. 程式人生 > 其它 >C++:const修飾成員函式

C++:const修飾成員函式

技術標籤:c++學習筆記

常函式:

  • 成員函式後加const,我們稱這個函式為常函式
  • 常函式內不可以修改成員屬性
  • 成員屬性宣告時加關鍵字mutable後,在常函式中依然可以修改

常物件:

  • 宣告物件前加const,稱為常物件
  • 常物件只能呼叫常函式
    在這裡插入圖片描述
//常函式
class Person
{
public:
    //this指標的本質 是指標常量  指標的指向不可以修改
    //const Person * const this;
    //在成員函式後加const,修飾的是this指標,讓this指向的值也不能修改
    Person showPerson() const
    {
        //m_A = 100;//報錯
this->m_B = 100; } void func() { } int m_A; mutable int m_B;//特殊變數,即使在常函式中,也可以修改這個值 }; void test01() { Person p; p.showPerson(); } //常物件 void test02() { const Person p;//在物件前加const,變為常物件 // p.m_A = 100;報錯 p.m_B = 100;//特殊值,在常物件下也可以修改 //常物件只能呼叫常函式 //p.func()報錯
}