函式過載:
在c++程式中,可以將語義、功能相似的幾個函式用同乙個名字表示,即函式過載。
過載的實現:
幾個程式設計客棧同名的過載函式仍然是不同的函式,它們是如何區分的呢?我們自然想到函式介面的兩個要素:引數與返回值。如果同名函式的引數不同(包括型別、順序不同),那麼容易區別出它們是不同的函式。
過載與覆蓋成員函式被過載的特徵:
(1)相同的範圍(在同乙個類中);
(2)函式名字相同;
(3)引數不同;
(4)virtual 關鍵字可有可無。
覆蓋是指派生程式設計客棧類函式覆蓋基類函式,特徵是:
(1)不同的範圍(分別位於派生類與基類);www.cppcns.com
(2)函式名字相同;
(3)引數相同;
(4)基類函式必須有virtual 關鍵字。
隱藏規則:本來僅僅區別過載與覆蓋並不算困難,但是c++的隱藏規vfpnbycjgn則使問題複雜性增加了許多。這裡「隱藏」是指派生類的函式遮蔽了與其同名的基類函式,規則如下:
(1)如果派生類的函式與基類的函式同名,但是引數不同。此時,不論有無virtual關鍵字,基類的函式將被隱藏(注意別與過載混淆)。
(2)如果派生類的函式與基類的函式同名,並且引數也相同,但是基類函式沒有virtual關鍵字。此時,基類的函式被隱藏(注意別與覆蓋混淆)。
本文標題: c++概念過載、覆蓋、隱藏的使用說明
本文位址: /ruanjian/c/94670.html
C 概念過載 覆蓋 隱藏
函式過載 在c 程式中,可以將語義 功能相似的幾個函式用同乙個名字表示,即函式過載。過載的實現 幾個同名的過載函式仍然是不同的函式,它們是如何區分的呢?我們自然想到函式介面的兩個要素 引數與返回值。如果同名函式的引數不同 包括型別 順序不同 那麼容易區別出它們是不同的函式。過載與覆蓋成員函式被過載的...
c 過載 覆蓋 隱藏
成員函式的過載 覆蓋與隱藏 成員函式的過載 覆蓋 override 與隱藏很容易混淆,c 程式設計師必須要搞清楚 概念,否則錯誤將防不勝防。8.2.1 過載與覆蓋 成員函式被過載的特徵 1 相同的範圍 在同乙個類中 2 函式名字相同 3 引數不同 4 virtual 關鍵字可有可無。覆蓋是指派生類函...
c 過載 覆蓋 隱藏
成員函式的過載 覆蓋與隱藏 成員函式的過載 覆蓋 override 與隱藏很容易混淆,c 程式設計師必須要搞清楚 概念,否則錯誤將防不勝防。8.2.1 過載與覆蓋 成員函式被過載的特徵 1 相同的範圍 在同乙個類中 2 函式名字相同 3 引數不同 4 virtual 關鍵字可有可無。覆蓋是指派生類函...