靜態聯編和動態聯編

2021-09-11 20:21:39 字數 755 閱讀 8977

聯編:將源**中的函式呼叫解釋為執行特定**塊稱為函式名聯編。

靜態聯編:在編譯過程中進行聯編。

動態聯編:編譯器生成能在程式執行期間選擇正確的虛方法的**,稱為動態聯編。因為只有在執行期間,才知道函式選那種型別的物件。

將派生類引用或指標轉換為基類引用或指標成為向上強制轉換,派生類繼承了基類物件的所有資料成員和成員函式,所以可以對基類物件的所有操作都適用於派生類物件。

使用虛函式的成本

每個物件都增大,增大量為儲存位址的空間

每個類都建立乙個虛函式位址表

在基類方法宣告中使用關鍵字virtual可使方法在基類和所有派生類中是虛的

如果定義的類被用作基類,則應將那些要在派生類重新定義的類方法宣告為虛的。

建構函式不能是虛函式,建立派生類物件時,呼叫派生類建構函式,而不是基類建構函式,然後,派生類的建構函式將使用基類的建構函式,這順序不同於繼承機制。因此派生類不繼承基類的建構函式,所以宣告為虛的沒有意義

析構函式應該是虛函式,除非類不用做基類。

友元不能是虛函式,因為友元不是類成員,只有成員才能是虛函式

重新定義將隱藏方法

如果重新定義繼承的方法,應該確保與原來的原型完全一樣,煩如果返回值是基類引用或指標,則可以修改為指向派生類的引用或指標。否則隱藏基類的方法。

如果基類宣告被過載了,則應在派生類中重新定義所有的基類版本。

靜態聯編和動態聯編

聯編是指乙個電腦程式自身彼此關聯 使乙個 源程式經過編譯 連線,成為乙個可執行程式 的過程,在這個聯編過程中,需要確定程式中的操作呼叫 函式呼叫 與執行該操作 函式 的 段之間的對映關係,按照聯編所進行的階段不同,可分為靜態聯編和動態聯編。靜態聯編 呼叫函式和被調函式在程式編譯時,他們在記憶體中的位...

靜態聯編和動態聯編

聯編就是將模組或者函式合併在一起生成可執行 的處理過程,同時對每個模組或者函式呼叫分配記憶體位址,並且對外部訪問也分配正確的記憶體位址,它是電腦程式彼此關聯的過程。按照聯編所進行的階段不同,可分為兩種不同的聯編方法 靜態聯編和動態聯編。靜態聯編是指在編譯階段就將函式實現和函式呼叫關聯起來,因此靜態聯...

靜態聯編和動態聯編

聯編就是將模組或者函式合併在一起生成可執行 的處理過程,同時對每個模組或者函式呼叫分配記憶體位址,並且對外部訪問也分配正確的記憶體位址,它是電腦程式彼此關聯的過程。按照聯編所進行的階段不同,可分為兩種不同的聯編方法 靜態聯編和動態聯編。靜態聯編是指在編譯階段就將函式實現和函式呼叫關聯起來,因此靜態聯...