-2
任何人都可以用一個6歲的男孩可以理解的方式解釋這個說法嗎?在C++編程語言中綁定語言
將函數調用連接到函數體稱爲綁定。在程序運行之前完成時,它被稱爲早期綁定或靜態綁定或編譯時綁定。
我想知道早期和晚期的約束力。我無法得到上述說法。
任何人都可以用一個6歲的男孩可以理解的方式解釋這個說法嗎?在C++編程語言中綁定語言
將函數調用連接到函數體稱爲綁定。在程序運行之前完成時,它被稱爲早期綁定或靜態綁定或編譯時綁定。
我想知道早期和晚期的約束力。我無法得到上述說法。
有兩種情況
void fun();
這是早期綁定,因爲編譯器知道的函數調用地址。
假設你有基類,它是虛擬的fun
,
virtual void fun();
你也需要在派生類中的樂趣,
class Base
{
public:
virtual void fun(){//some code};
};
class Der : public Base
{
public:
virtual void fun(){//some code};
};
現在其樂趣將被稱爲是取決於你如何調用功能。
讓說,
int main()
{
Base *b = new Base();
b->fun(); //base version will be called
Ber *d = new Der();
b->fun(); //der version will be called
return 0;
}
啊解釋,我需要在上下文> _ <中更新我對術語「後期綁定」的概念。這意味着.NET中不同的東西(甚至在Java中有微妙的差別)。 – user2864740
@ user2864740我不會公佈這個問題,如果我能夠理解烏爾鏈接... –
@ user2864740什麼都沒有,PLZ以簡單的方式 –