请输入您要查询的百科知识:

 

词条 动态联编
释义

动态联编又称动态关联

定义:

编译程序在编译阶段并不能确切知道将要调用的函数,只有在程序执行时才能确定将要调用的函数,为此要确切知道该调用的函数,要求联编工作要在程序运行时进行,这种在程序运行时进行联编工作被称为动态联编。

动态联编必须包括以下方面:

成员函数必须声明为virtual

如果基类中声明了为虚函数,则派生类中不必再声明。

调用方式:

通过对象的指针或引用调用成员函数;或通过成员函数调用,反之就无法实现动态联编。

例如:#include <iostream>

#include <string>

using namespace std;

class CBuilding

{

//定义建筑类

string name;        //定义名称

public:

void set(string strName);        //修改名称

virtual void display()        //显示信息,这里是内联函数,而且声明为虚函数

{

cout << "建筑是" << name << "\";

}

};//建筑类定义完毕

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 << "米。\";        //显示长度信息

}

};//桥类定义完毕

void main()

{

CBuilding building;        //创建建筑对象

CBridge bridge;        //创建桥对象

building.set("中国古代建筑");        //设置名称

building.display();        //显示信息

bridge.set("中国赵州桥");        //设置桥的名称

bridge.setLength(static_cast <float>(60.40));        //修改桥的长度

bridge.display();        //显示桥的信息

return;

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/7 15:36:11