繫結是乙個把過程呼叫和響應呼叫所需要執行的**加以結合的過程。繫結是在編譯時進行的,叫作靜態繫結,也叫做靜態聯編。動態繫結(動態聯編/執行時繫結)則是在執行時進行的,因此,乙個給定的過程呼叫和**的結合直到呼叫發生時才進行。
(1)在c++語言中,當我們使用基類的引用(或指標)呼叫乙個虛函式時將發生動態繫結,所以說虛函式是動態繫結的基礎。
(2)動態繫結是和類的繼承以及多型相聯絡的,在繼承關係中,子類是父類的-乙個特例,所以父類物件可以出現的地方,子類物件也可以出現。因此在執行過程中,當乙個物件傳送訊息請求服務時,要根據接收物件的具體情況將請求的操作與實現的方法進行連線,即動態繫結。
(3)使用動態繫結,可以在一定程度上忽略相似型別的區別,而以統一的方式使用它們的物件。
(4)動態聯編要通過物件指標或物件引用來操作虛函式;如果採用物件來操作虛函式,則採用靜態聯編方式呼叫虛函式。
demo:
#include "iostream"
using namespace std;
//定義乙個人類的虛基類human,兩個子類man、woman。
class human
~human(){}
virtual void wearclothes()
//void wearclothes()
private:
int age;
char name[32];
};class man:public human
~man(){}
void wearclothes() };
class woman :public human
~woman() {}
void wearclothes() };
void wear1(human& people)
void wear2(human* people)
void wear3(human people)
int main()
C 動態繫結
c 中動態繫結是將乙個過程呼叫與相應 鏈結起來的行為。是指與給定的過程呼叫相關聯的 只有在執行期才可知的一種繫結,他是多型實現的具體形式。c 中,通過基類的引用或指標呼叫虛函式時,發生動態繫結。引用 或指標 既可以指向基類物件也可以指向派生類物件,這一事實是動態繫結的關鍵。用引用 或指標 呼叫的虛函...
c 動態繫結
c 的函式呼叫預設不使用動態繫結。要觸發動態繫結,必須滿足兩個條件 只有指定為虛函式的成員函式才能進行動態繫結 必須通過基類型別的引用或指標進行函式呼叫 因為每個派生類物件中都擁有基類部分,所以可以使用基類型別的指標或引用來引用派生類物件 示例 include include using names...
C 動態繫結
動態繫結是在執行期間發生的繫結,發生動態繫結的函式的執行版本由傳入的實際引數型別決定,在執行時覺得函式的版本,所以動態繫結又稱執行時繫結,動態繫結是c 的多型實現的一種形式。在c 中,當使用基類的引用或指標呼叫乙個虛函式時將發生動態繫結。c 中的動態繫結通過虛函式實現。而虛函式是通過一張虛函式表 v...