码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-04-24 17:47:56      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:include   printf   func   argv   nbsp   sub()   动态   base   argc   

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

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

标签:include   printf   func   argv   nbsp   sub()   动态   base   argc   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!