Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22675
  • 博文数量: 36
  • 博客积分: 1047
  • 博客等级: 少尉
  • 技术积分: 460
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-06 10:57
文章分类
文章存档

2013年(1)

2012年(35)

我的朋友
最近访客

分类: IT业界

2012-09-26 09:54:06

作为,在前面一篇文章中已经简单的介绍了它的基本信息。现在达内想和大家探讨的,就是虚函数的价值所在,也就是它到底有什么作用。

提到虚函数的作用,我们知道面向对象语言的意义是让程序用一种符合人的思维来运行,而虚函数在面向对象语言的实现中起着举足轻重的作用。简而言之,虚函数的作用就是实现“动态联编”,也就是在程序的运行阶段动态地选择合适的成员函数。具体的实现方式是:在定义了虚函数后,可以在基类的派生类中对虚函数重新定义,在派生类中重新定义的函数应与虚函数具有相同的形参个数和形参类型。以实现统一的接口,不同定义过程。如果在派生类中没有对虚函数重新定义,则它继承其基类的虚函数。编译器在编译过程中发现类的函数名前的关键字virtual后,会自动将其作为动态联编处理,即在程序运行时动态地选择合适的成员函数。

知道的作用之后,我们就赶紧来看下虚函数是如何使用的。正确的使用虚函数是一个比较简单的问题。要实现动态联编,即只能用一个基类的指针或者引用来指向派生类对象,为什么必须要这样,见后面的虚函数实现机制。而把派生类对象赋值或者拷贝给基类的对象,只能实现派生类隐式转换成基类,即在编译器完成了派生类的截断,不能达到动态联编得作用。

更多资讯,尽在新街口中心

希望这篇文章能给在或想来参加的同学们带来一些激励和帮助。

看过此文章的用户还看过:

阅读(176) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~