编译时绑定(静态绑定) 与 运行时绑定(动态绑定)
Posted roadmap
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译时绑定(静态绑定) 与 运行时绑定(动态绑定)相关的知识,希望对你有一定的参考价值。
#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);
}
以上是关于编译时绑定(静态绑定) 与 运行时绑定(动态绑定)的主要内容,如果未能解决你的问题,请参考以下文章