浅析面向对象编程语言C++多态实现技术的虚指针和虚表结构初稿..docxVIP

  • 4
  • 0
  • 约4.75千字
  • 约 7页
  • 2017-01-21 发布于重庆
  • 举报

浅析面向对象编程语言C++多态实现技术的虚指针和虚表结构初稿..docx

浅析面向对象编程语言C多态实现技术的虚指针和虚表结构初稿.

浅析面向对象编程语言C++多态实现技术的虚指针和虚表结构作者:翁子凡摘要:本文通过一个C++例子,探索C++类实现多态的虚表技术,验证了C++类结构中虚指针和虚表的真实存在,并且剖析了类结构中虚指针的位置和虚表中各个函数指针排列方式,并以表格的形式展示了出来。关键字:面向对象、编程语言、C++、多态、多态实现、虚指针、虚表引言:任何面向对象编程语言都有的相同三个重要特征,分别是封装、继承、多态,但是对于这三个特征的具体实现每种编程语言却有着不同的实现方式。C++是现在最流行的面向对象编程语言之一,其中C++对于多态的实现,是通过虚表来实现的。正文:时下最流行的编程语言是面向对象编程语言C++、C#、Java、Ruby,这是源于面向对象编程语言在工程实践中拥有的众多优点所致。对于实现这些优点,面向许多编程语言有着自己的技巧。本文试图揭示C++的多态实现虚表技术。由于本文的目标读者是有C++编程基础的程序员,对于多态的概念就不在此赘述。首先需要阐述的一个概念是虚表。在C++语言中,每个有虚函数的类,编译器都会为它生成一个虚拟函数表(简称:虚表),表中的每一个元素都指向一个虚函数的地址。   此外,编译器当然也会为类加上一个成员,是一个指向该虚函数表的指针(常被称为vptr),每一个由此类别派生出来的类,都有这么一个vptr。 虚表的内容是依据类中的虚函数声明次序--填入函数指针。派生类

文档评论(0)

1亿VIP精品文档

相关文档