首页 > 代码库 > 编译时绑定(静态绑定) 与 运行时绑定(动态绑定)
编译时绑定(静态绑定) 与 运行时绑定(动态绑定)
#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);
}
编译时绑定(静态绑定) 与 运行时绑定(动态绑定)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。