1. 程式人生 > >學習c++中的小問題總結

學習c++中的小問題總結

 

 

 

 

1.類中的函式定義後加了一個const代表什麼?

 

代表它將具備以下三個性質:

  1.const物件只能呼叫const成員函式。
   2.const物件的值不能被修改,在const成員函式中修改const物件資料成員的值是語法錯誤
  3.在const函式中呼叫非const成員函式是語法錯誤


  任何不會修改資料成員的函式都應該宣告為const型別。如果在編寫const成員函式時,不慎修改了資料成員,或者呼叫了其它非const成員函式,編譯器將指出錯誤,這無疑會提高程式的健壯性。
  所以看完上面這句話就應該明白了函式定義後加const的用處,以及什麼時候用到const,這會是一個好的程式設計習慣的。
以下程式中,類stack的成員函式GetCount僅用於計數,從邏輯上講GetCount應當為const函式。編譯器將指出GetCount函式中的錯誤。 class Stack { public: void Push(int elem); int Pop(void); int GetCount(void) const; // const成員函式 private: int m_num; int m_data[10]; }; int Stack::GetCount(void) const { ++ m_num; // 編譯錯誤,企圖修改資料成員m_num Pop(); // 編譯錯誤,企圖呼叫非const函式 return m_num; }