逆向之虚函数执行分析

逆向之虚函数执行分析

同名函数调用

  • 函数重复定义:

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

  • 不同层次的函数调用:

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

虚函数

  • 虚函数的定义:

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

  • 虚函数调用:

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

  • 虚函数的优势:

  实现多态。

虚函数的调用方法

(1)指针

(2)引用

(3) 对象

 代码

愿路途漫长,以后莫失莫忘。 愿你不骄不躁,安稳顺心。

作者:菜鸟-传奇
本文版权归作者和博客园共有,不以任何盈利为目的,欢迎转载。但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律声明责任的权利。
原文地址:https://www.cnblogs.com/cainiao-chuanqi/p/14704794.html