C 11中的override和final關鍵字

2021-10-01 10:26:41 字數 687 閱讀 9990

override

含義:被標識的函式需要強制重寫基類虛函式。

class

base};

class

derived

:public base };

// 原本想要在派生類重寫test函式,但是因為手抖新建了乙個teat函式,編譯器並不會報錯!

// 為了避免上述手抖得情況,在派生類需要重寫的虛函式後面加上override關鍵字

class

base};

class

derived

:public base // 提示錯誤

virtual

void

test

() override

};

final

含義:被標識的虛函式禁止被重寫,或者禁止某個類被繼承。

// final表示虛函式

class

base};

class

derived

:public base // error};

// final表示類

class

base final

;class

derived

:public base

;

C 11新特性之虛函式的override指示符

1.c 11中新增加了許多新的特性,這裡對override這個新特性做乙個簡單的描述 override的英文意思為 覆蓋 2.下面demo中,student類繼承於people類 public公有繼承 在people類中對printinf函式進行了虛函式的宣告 為了實現多型 多型的3個條件 有繼承 ...

c 11中的日期和時間庫

c 11提供了日期時間相關的庫chrono,通過chrono相關的庫我們可以很方便的處理日期和時間。c 11還提供了字串的寬窄轉換功能,也提供了字串和數字的相互轉換的庫。有了這些庫提供的便利的工具類,我們能方便的處理日期和時間相關的轉換和格式輸出。chrono庫主要包含了三種型別 時間間隔durat...

C 11中的auto陷阱

c 11中引入的auto關鍵字自動推導型別特性,可能是最方便也最容易理解的特性了。然而,即使是這個簡單特性,也有陷阱,需要我們使用時注意。1 引用型別被推導為非引用型別 例如 foo void arg 上面的 中big會被推導為mybigclass型別,而不是mybigclass 型別,從而導致拷貝...