您好,登錄后才能下訂單哦!
C++11新特性- 純虛函數和final說明符如何使用?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
個人以為,C++之所以適合架構設計,很大一個原因就是它可以對將來編程。比如可以通過public/protected/private來限定派生類對基類成員的訪問,可以定義抽象類要求派生類必須實現的接口等。
當我們聲明/定義了一個虛函數時候,派生類可以選擇覆蓋這個虛函數,也可以選擇不覆蓋。關于這一點,C++也提供了必要的方法,來要求派生類覆蓋某些方法,這也可以看作是一種對將來編程。
純虛函數
這并不是一個新技術,功能也非常簡單:就是一旦某個基類聲明了某個純虛函數,它的派生類在實例化的時候就必須覆蓋這個函數。
本例中注釋掉了sub::f1()方法,所以在第27行就會發生編譯錯誤。
final說明符
一般說來,有要求的覆蓋的方法,就應該有禁止覆蓋的手段。但是不知道為什么,這個功能到了C++11中才被引入。使用方法也很簡單:只要在函數聲明的后面添加final說明符即可。
代碼基本沒變,只是base::f1()聲明的后面換成了final說明符。這時如果定義了sub::f1()方法,就會產生如上圖的編譯錯誤。
感謝各位的閱讀!看完上述內容,你們對C++11新特性- 純虛函數和final說明符如何使用大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。