c 中final關鍵字的作用

2021-10-24 23:26:32 字數 705 閱讀 5797

c++中final關鍵的作用最重要就是兩個,先強調下:

1.禁止虛函式被重寫

2.禁止基類被繼承

final:指定不能在派生類中重寫虛函式或不能從中繼承類。

在虛函式宣告或定義中使用時,final確保函式是虛函式,並指定它不能被派生類重寫。否則程式格式錯誤(生成編譯時錯誤)。

在類定義中使用時,final指定該類不能出現在另乙個類定義的基說明符列表中(換句話說,不能從中派生)。否則程式格式錯誤(生成編譯時錯誤)。final也可以與union定義一起使用,在這種情況下,它沒有任何影響(除了std::is_final的結果),因為聯合不能從派生)

final是在成員函式宣告或類頭中使用時具有特殊含義的識別符號。在其他上下文中,它不是保留的,可以用來命名物件和函式。

c++ 11還增加了防止繼承類或簡單地防止派生類中重寫方法的能力。這是用特殊識別符號final完成的。

final阻止類的進一步派生和虛函式的進一步重寫。

c++ 11關鍵字的最終目的有兩個。它阻止從類繼承,並禁止重寫虛函式。

有時,你不想讓派生類重寫基類的虛函式。c++ 11允許內建的工具防止使用最終說明符重寫虛函式。

c++ 11中的最後關鍵字可以應用於整個類或方法。當應用於乙個類時,它表示該類不允許派生;也就是說,不能建立從最終類派生的類。第二種方法是將final應用於方法時,這樣可以防止方法被派生類重寫(儘管仍然可以建立子類)。

final關鍵字作用

final關鍵字的作用 1 被final修飾的類不可以被繼承 2 被final修飾的方法不可以被重寫 3 被final修飾的變數不可以被改變 如果引用為基本資料型別,則該引用為常量,該值無法修改 如果引用為引用資料型別,比如物件 陣列,則該物件 陣列本身可以修改,但指向該物件或陣列的位址的引用不能修...

Final關鍵字的作用

public final void login int user,int pwd 父類中如果加入了final 一般加在許可權修飾符的後面 public void login int user,int pwd 在子類中父類的方法就不能被重寫了,會報錯 public class useruser.pi ...

java中final關鍵字作用

1 final類不能被繼承,因此final類的成員方法沒有機會被覆蓋,預設都是final的。在設計類時候,如果這個類不需要有子類,類的實現細節不允許改變,並且確信這個類不會再被擴充套件,那麼就設計為final類。final方法不能被子類的方法覆蓋,但可以被繼承。2 final方法 如果乙個類不允許其...