c++ 中的const 和java 中的final 關鍵字都表達了"常量"概念,對於基本類型,const和java是一樣的用法,都表示常量不可改變。但是在對於類的修飾上便有着各自的表述: final 在java中聲明class時用final來修飾,則此類被聲明爲不可繼承的類.也就是說它下面不會有子類了。如java.lang.Math. 定義變量和對象是用final來修飾,則表明此變量和句柄不可改變.在函數聲明用final來修飾則沒有效果. const in c++ 用const來修飾一個class class Object { public: int m_nCount; //函數定義時用const修飾,則表示此函數不會改變這個類的任何變量 int funC() const { //m_nCount = 1;//編譯出錯,改變了成員變量m_nCount的值 return m_nCount; } void fun() { m_nCount = 1; } } int main(int argc, char* argv[]) { const Object obj;//當用const修飾對象變量,則此對象變量調用的函數必須爲const //obj.fun();//編譯出錯 obj.funC(); //編譯通過, } |
const & final
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.