首页 > 其他 > 详细

编译时绑定(静态绑定) 与 运行时绑定(动态绑定)

时间:2017-04-24 17:41:10      阅读:210      评论:0      收藏:0      [点我收藏+]

#include <stdio.h>

struct Base
{
    int x;
    Base()
    {
        x = 100;
    }
    void func1()
    {
        printf("Base func1()\n");
    }
    virtual void func2()
    {
        printf("Base virtual func2()\n");
    }

};

struct Sub:Base
{
    int x;
    Sub()
    {
        x = 200;
    }
    void func1()
    {
        printf("Sub func1()\n");
    }
    virtual void func2()
    {
        printf("Sub virtual func2()\n");
    }
};

void test(Base *pb)
{
    printf("x: %d\n", pb->x);
    pb->func1();
    pb->func2();
}

int main(int argc, char **argv)
{
    Base base;
    test(&base);
    Sub sub;
    test(&sub);
}

编译时绑定(静态绑定) 与 运行时绑定(动态绑定)

原文:http://www.cnblogs.com/roadmap99/p/6757981.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!