侧边栏

逆向之虚函数执行分析

逆向之虚函数执行分析

同名函数调用

  • 函数重复定义:

  在C++中,同一类中是不能定义两个名字相同、参数个数和类型都相同的函数的,否则就是“重复定义”

  • 不同层次的函数调用:

  在类的继承层次结构中在不同的层次中可以出现名字相同、参数个数和类型都相同而功能不同的函数。编译系统按照同名覆盖的原则决定调用的对象。

虚函数

  • 虚函数的定义:

  虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。

  • 虚函数调用:

  在程序中不是通过不同的对象名去调用不同派生层次中的同名函数,而是通过指针调用它们。例如,用同一个语句“pt>display();”可以调用不同派生层次中的display函数,只需在调用前给指针变量pt赋以不同的值(使之指向不同的类对象)即可。

  • 虚函数的优势:

  实现多态。

虚函数的调用方法

(1)指针

(2)引用

(3) 对象

 

 代码

posted @ 2021-04-26 15:19  菜鸟-传奇  阅读(122)  评论(0编辑  收藏  举报