继承和对象自然增长

来源:互联网 发布:网络招生哪家强 编辑:程序博客网 时间:2024/04/30 13:12

继承和对象自然增长

C++中类的继承,是具有自然增长效果的。如果基类是Base,继承类是Derived,那么创建一个Derived类的实例b,在地址空间上,b的前面部分,刚好可以视为另一个Base的实例(a),后面才是继承所带来的扩展数据部分。所以继承具有自然增长效果(有时我也说成净增长或者净扩展)。C++的继承绝不会破坏基类的数据结构,这可以肯定是一个基本原则。因为如此,所以C++对象可以安全上溯造型(upcast):可以作为基类对象来看待和操作,而不会有任何不妥。

另外,由于C++采用虚函数实现了多态性,就有了与类关联的虚函数表。我们可以看到,继承类的虚函数表对于基类的来说也是自然增长的。

原创粉丝点击