函式覆蓋及其使用舉例

2021-07-15 11:08:42 字數 568 閱讀 3459

覆蓋是指派生類中如果存在重新定義的函式,其函式名、引數列、返回值型別必須同父類中的相對應被覆蓋的函式嚴格一致。覆蓋函式和被覆蓋函式只有函式體不同,當派生類物件呼叫子類中該同名函式時會自動呼叫子類中的覆蓋版本,而不是父類中的被覆蓋函式版本。

覆蓋的特徵為在不同的範圍中(分別位於派生類與基類)的函式,函式名字相同,函式引數相同,基類函式必須有virtual

關鍵字,覆蓋的示例**如下

:

#includeusing namespace std;

//定義基類

class boy

};//定義派生類

class girl:public boy

};int main()

執行結果:

girl::beautiful!

請按任意鍵繼續. . .

上面的**中,虛函式boy

::g(void)被girl::g(void)覆蓋,從而在子類中產生了乙個新的函式。

問題:什麼時候發生函式覆蓋?

覆蓋在繼承時派生類對於抽象類或者介面宣告的方法的具體實現時使用。

A 演算法介紹及其使用舉例

1 a 演算法 a 演算法在人工智慧中是一種典型的啟發式搜尋演算法,啟發中的估價是用估價函式表示的 其中f n 是節點n的估價函式,g n 表示實際狀態空間中從初始節點到n節點的實際代價,h n 是從n到目標節點最佳路徑的估計代價。另外定義h n 為n到目標節點最佳路徑的實際值。如果h n h n ...

matlab collect 函式使用舉例

在matlab中,使用collect函式來合併同類項,其使用格式如下 collect s,v 命令用於將符號矩陣s中所有同類項合併,並以v為符號變數輸出 collect s 命令使用findsym函式規定的預設變數代替上式中的v 應用例項 syms x y collect x 2 y y x x 2...

神經網路常用啟用函式及其應用舉例

神經網路中資料從資料層到最後輸出層的流動過程其實就是資料從一種形態到另一種形態,從乙個維度到另乙個維度的變換過程,例如在minst資料集訓練中,就是把28 28維的影象資料經過變換,對映成0 9之間的乙個數字。完成這種資料變換的乙個重要工具就是啟用函式。乙個典型的人工神經元的模型可以用下圖表述 啟用...