您的位置:首页 > 编程语言 > C语言/C++

c++ 多态的实现

2017-10-06 19:29 260 查看

什么是多态

简单地说,就是允许将子类的指针赋值给赋值给基类的指针

实现

依赖于编译器给每个包含了虚函数的类增加的虚拟表virtual table来实现

调用虚函数时,首先查虚表

如 class A : public B 表示A继承B,B中定义了虚函数

B* b = new A;

A实例的内存起始部分和B的内存格局相同,这样当调用
b->foo()
时(foo为虚函数,A对foo进行了覆写),其实就是调用了A中对foo的实现,这样也就实现了多态
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 多态 虚函数 虚表