C 11之 final, override關鍵字

2021-10-25 09:38:05 字數 671 閱讀 5820

1.  阻止類被繼承

c++11中允許將類標記為final,即直接在類名稱後面使用關鍵字final,這樣編譯器會阻止該類被其他類繼承,否則編譯器報錯。

class specialarray final

; virtual ~specialarray() {};

};

2. 禁止子類重寫基類的虛函式, 注意:只能用於virtual函式。用於修飾子類的虛函式,表示該函式用於重寫父類的虛函式。 note:只能用於修飾虛函式。

好處:編譯器可以幫助我們檢查被override修飾的函式是否是父類中的虛函式,簽名是否一樣。因為有的時候,想要在子類中重寫父類的虛函式,但是不小心函式名字會寫錯,導致實際上沒有重寫,而是引入

了乙個其他函式,導致軟體行為與預想不同。

向著月亮出發,即使不能到達,也能站在群星之中。

c 11特性之std thread 高階

部落格 c 11特性之std thread 初識 std thread 講了std thread join和std thread detach的用法。今天就再來點深入的。先看看這個 int main 一旦 detached,就不能再join 這個時候總要有新東西出場了 joinable includ...

C 11新特性之 nullptr

我們知道在程式設計的世界裡,0有雙重的角色,可以表示整數零,也可以表示乙個空指標。在c語言中,通過預編譯巨集null,可以區分0表示的是零還是 void 0.但是,在c 的世界中,這樣是不可以的。c 中允許函式過載。例如 void foo char void foo int 如果把null定義為0,...

C 11之智慧型指標

c 98提供了了智慧型指標auto ptr,但c 11已將其摒棄,並提供了unique ptr和shared ptr。這三種智慧型指標模板都定義了類似指標的物件,可以將new獲得的位址賦給這種物件。當智慧型指標過期時,這些記憶體將自動被釋放。其基本用法如下 include include inclu...