繼承下的幾個概念的區別

2021-07-15 18:51:11 字數 658 閱讀 4909

問題一  

過載、遮蔽、複寫的區別是什麼?

過載:相同作用域下,同名函式因為函式名相同,具有不同的引數列表,而表現出不同的行為和功能。

運用範圍:過載既可以發生在全域性作用域又可以發生在類的成員函式下。屬於靜態多型性,聯編方式為靜態聯編。

遮蔽(隱藏):派生類中有與基類衝突的命名成員。即在派生類和基類之間存在相同的函式名稱。但是函式原型不同。

在通過派生類物件呼叫同名成員函式時,總是會呼叫派生類中的這個同名成員函式。除非加上基類的作用與解析運算子

才能呼叫基類的同名成員。

運用範圍:和基類同名但是函式原型不同的派生類新增的成員函式。一般要避免這種類設計。

複寫(覆蓋、重寫、重定義):這是派生類從基類中繼承而來的同名成員函式,但是因為業務需要,需要提供乙個

派生類的實現版本。通常都是用於支援多型。因為,c++中,要把派生類打算重新定義的成員函式申明為虛函式

用以支援多型,而那些不打算在派生類重新定義的成員函式不應該申明為虛函式。

運用範圍:繼承自基類的同名成員函式,函式原型和基類相同,通常為了支援多型。因此,大部分這樣的函式都是虛函式。

複寫需要注意的一點是:原型中的返回值型別如果是基類的指標或引用,在派生類中則可以是派生類的指標和引用

但是這只能在返回型別中有這個寬限,引數型別不能這樣做。

重寫 覆蓋 過載 多型幾個概念的區別

override 重寫 覆蓋 overload 過載 polymorphism 多型 override 是重寫了乙個方法,已實現不同的功能。一般是子類繼承父類時,重寫 重新實現 父類的方法。重寫 覆蓋 的規則 1 重寫的方法引數列表必須完全與被重寫的方法相同,否則不能稱其重寫而是過載。2 重寫的方法...

Linux的幾個概念

裝置名裝載點 通過裝載點訪問裝置 根目錄 cd 主目錄 cd 不同的使用者有不同的主目錄,但擁有相同的根目錄 點檔案 以點開頭的檔案或目錄,可以作為隱藏目錄 ls 不顯示 ls a 顯示 標準子目錄 bin 命令目錄 boot 系統啟動所需的大部分檔案 dev 裝置檔案和其他特殊檔案 etc 啟動和...

DDR的幾個概念

sdram synchronous dram 同步動態隨機儲存器 是pc 100和pc 133規範所廣泛使用的記憶體型別,它的頻寬為64位,3.3v電壓,目前產品的最高速度可達5ns。它與cpu使用相同的時鐘頻率進行資料交換,它的工作頻率是與cpu的外頻同步的,不存在延遲或等待時間。sdram的內部...