溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++11新特性- 純虛函數和final說明符如何使用

發布時間:2020-10-13 15:57:09 來源:億速云 閱讀:170 作者:小新 欄目:編程語言

C++11新特性- 純虛函數和final說明符如何使用?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

 個人以為,C++之所以適合架構設計,很大一個原因就是它可以對將來編程。比如可以通過public/protected/private來限定派生類對基類成員的訪問,可以定義抽象類要求派生類必須實現的接口等。

當我們聲明/定義了一個虛函數時候,派生類可以選擇覆蓋這個虛函數,也可以選擇不覆蓋。關于這一點,C++也提供了必要的方法,來要求派生類覆蓋某些方法,這也可以看作是一種對將來編程。

純虛函數

這并不是一個新技術,功能也非常簡單:就是一旦某個基類聲明了某個純虛函數,它的派生類在實例化的時候就必須覆蓋這個函數。

C++11新特性- 純虛函數和final說明符如何使用C++11新特性- 純虛函數和final說明符如何使用

本例中注釋掉了sub::f1()方法,所以在第27行就會發生編譯錯誤。

final說明符

一般說來,有要求的覆蓋的方法,就應該有禁止覆蓋的手段。但是不知道為什么,這個功能到了C++11中才被引入。使用方法也很簡單:只要在函數聲明的后面添加final說明符即可。

C++11新特性- 純虛函數和final說明符如何使用C++11新特性- 純虛函數和final說明符如何使用

代碼基本沒變,只是base::f1()聲明的后面換成了final說明符。這時如果定義了sub::f1()方法,就會產生如上圖的編譯錯誤。

感謝各位的閱讀!看完上述內容,你們對C++11新特性- 純虛函數和final說明符如何使用大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女