美文网首页
静态联编 和 动态联编

静态联编 和 动态联编

作者: Hao_38b9 | 来源:发表于2020-05-16 00:20 被阅读0次

    静态联编 和 动态联编

    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;
    }
    

    相关文章

      网友评论

          本文标题:静态联编 和 动态联编

          本文链接:https://www.haomeiwen.com/subject/oavkohtx.html