静态联编 和 动态联编

2020-05-16  本文已影响0人  Hao_38b9

静态联编 和 动态联编

1. 静态联编

定义:静态联编是指系统在编译时就决定如何实现某一动作。它要求在编译程序时就知道调用函数的全部信息。

特点:函数调用速度快,效率高。

实现:

2.动态联编

定义:动态联编是指系统在运行时动态实现某一动作。采用这种联编方式,一直要到程序运行时才能确定调用哪一个函数。

特点:提供更好的灵活性、问题抽象性和程序易维护性

实现:类的继承以及设置虚函数来实现

#include<iostream>
#include<string>
using namespace std;

class Person {
public:
    Person(string n, bool g) :name(n), gender(g) {  }
    virtual void printInfo() {
        cout << "名字:" << name<<endl;
        cout << "性别:" << (gender ? "男" : "女") << endl;
    }
private:
    string name;
    bool gender;
};
class Teacher:public Person {
public:
    Teacher(string n, bool g, int id) :Person(n, g), work_id(id) {

    }
    virtual void printInfo() {
        Person::printInfo();
        cout << "工号:" << work_id << endl;
    }
private:
    int work_id;
};
int main() {
    Person person("小兰",false);
    person.printInfo();
    Teacher teacher("小兰", false, 1);
    teacher.printInfo();
    Person* t_p = &teacher;
    t_p->printInfo();
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读