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

C++中virtual(虚函数)和普通函数调用的不同

2017-09-01 21:45 337 查看
普通函数,定义指针调用里面的函数(父类和子类都有实现的同一个函数),如果父类(基类)调用的不是虚函数,由于调用的是非虚函数,所以在编译的时候是静态联编(即不管你之后这个类的指针指向哪个子类或父类的函数(非虚函数),它编译的时候编进去的只是当初声明这个指针的这个类,输出的函数也是这个类的函数(前提是那个函数是非虚函数))

虚函数,在基类中被virtual关键字修饰,也就是说,它是一个虚函数。虚函数最关键的特点是“动态联编”,它可以在运行时判断指针指向的对象,并自动调用相应的函数。所以声明了个某各类的指针后,指针指向那个类,调用那个类的虚函数,那么跑出来的就是那个类的函数的结果。

这是是原博客讲解的链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: