-
動態聯編
鎖定
動態聯編(dynamic binding)是一個編程術語,又叫動態綁定。
- 中文名
- 動態聯編
- 外文名
- dynamic binding
- 別 名
- 動態綁定
動態聯編定義
編譯程序在編譯階段並不能確切知道將要調用的函數,只有在程序運行時才能確定將要調用的函數,為此要確切知道該調用的函數,要求聯編工作要在程序運行時進行,這種在程序運行時進行聯編工作被稱為動態聯編。動態聯編又稱動態關聯。
動態聯編組成
動態聯編必須包括以下方面:
(1)成員函數必須聲明為virtual
動態聯編調用方式
通過對象的指針或引用調用成員函數;或通過成員函數調用,反之就無法實現動態聯編。
動態聯編舉例
#include <iostream> #include <string> using namespace std; class CBuilding { //定義建築類 string name; //定義名稱 public: void set(string strName); //修改名稱 virtual void display() //顯示信息,這裏是內聯函數,而且聲明為虛函數 { cout << "建築是" << name << "\n"; } };//建築類定義完畢 void CBuilding::set(string strName) { //修改名稱方法的實現 name = strName; } class CBridge : public CBuilding { //通過繼承來定義橋類 float length; //定義長度 public: void setLength(float l = 0.0){ length = l; } //設置長度 void display() { CBuilding::display(); //調用基類方法顯示名稱 cout << "其長度是" << length << "米。\n"; //顯示長度信息 } };//橋類定義完畢 void main() { CBuilding building; //創建建築對象 CBridge bridge; //創建橋對象 building.set("中國古代建築"); //設置名稱 building.display(); //顯示信息 bridge.set("中國趙州橋"); //設置橋的名稱 bridge.setLength(static_cast <float>(60.40)); //修改橋的長度 bridge.display(); //顯示橋的信息 return; }
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:16次歷史版本
- 最近更新: 唐浩川和晨晨