2013-09-24 35 views
3

我有一個基類Base,一個稍微更專業的類SpecializedBase從Base派生而來,後者的子類如Derived防止虛擬函數在子子類中過載兩次

我實現了一個虛擬函數SpecialisedBase這是純虛擬的Base。如何確定這個函數在Derived中沒有超載?

回答

6

是的,如果你能使用C++ 11,你可以寫你的類像

struct derived { 
     virtual void f() final; 
    }; 
+1

別急,還有更精彩的:你甚至可以把'final'在類名後,防止整個類從被繼承。 – TemplateRex

+0

我從來沒有嘗試過。很高興知道。謝謝。 –