過載、遮蔽、隱藏
函式過載:(只有在乙個類中,沒有繼承父類的函式情況下)
表示在同乙個類中,函式名稱相同,而引數不同,稱為函式過載
函式遮蔽:(基類指標指向派生類,呼叫情況下)
函式遮蔽是指子類覆蓋父類的函式,覆蓋的要求是函式名相同,引數相同,並且父類函式必須有
virtual
關鍵字,如果父類沒有
virtual
關鍵字,就構不成遮蔽(此時是隱藏)
函式隱藏:(是指在子類物件訪問成員函式的時候,隱藏)
隱藏是指子類函式遮蔽了其同名的父類函式或變數。(只要函式名稱一樣就會被隱藏)
如果引數相同的話,父類函式不能有
virtual
關鍵字 如果引數不相同的話,父類函式將會被隱藏
只有重寫基類的虛函式時,才能體現
c++多型性
c 的過載 覆蓋和遮蔽(隱藏)
為了說明這三者的區別,引入函式簽名的概念 函式簽名主要包括1 函式名 2 引數的個數 資料型別和順序 但是注意,函式簽名不包括返回值 在同乙個類中,或者在頂層函式 與main函式同層 中,如果 1 函式名相同 2 函式簽名不同 則就是函式過載。函式過載對函式返回值無要求,即返回值可以相同也可以不相同...
函式過載 函式重寫 函式隱藏
函式重寫 父類和子類中有函式原型相同的函式,子類繼承父類後,兩個函式在子類中都存在,如果不加訪問許可權的話預設子類物件訪問的是子類自己的此函式 必須滿足的條件 函式原型相同 且只發生在父類與子類之間 執行期間根據物件型別決呼叫的函式 函式隱藏 子類中有與父類同名的函式,但引數個數不同,子類繼承父類後...
函式過載,函式重寫及隱藏
函式過載 overload 函式過載是指在乙個類中宣告多個名稱相同但引數列表不同的函式,這些的引數可能個數或 順序,型別不同,但是不能靠返回型別來判斷。特徵是 1 相同的範圍 在同乙個作用域中 2 函式名字相同 3 引數不同 4 virtual 關鍵字可有可無 注 函式過載與有無 virtual 修...