首页 > 编程语言 > 详细

C++ (P199—P)多态和虚函数

时间:2016-03-09 10:38:55      阅读:199      评论:0      收藏:0      [点我收藏+]

在介绍多态之前,先回忆:赋值兼容原则、虚基类、二义性、派生类如何给基类赋值等知识。

在赋值兼容原则中:父类对象的指针赋给基类的指针或者父类的对象赋给基类的引用,可以通过强转基类的指针或者引用变为父类的对象。

如果不强转访问函数或者数据时只能访问基类本身的,但是此时基类本身数据或者函数中的值应该是父类给赋予的。总之一句话:在没有虚函数时指针或者引用的向上转型,编译看左边,访问也看左边——这叫重载函数之间的关系。(书中P201的例子)

当基类中的函数是虚函数时,只要声明了基类指针,就可以用它指向不同的派生类对象产生不同的函数调用,可见运行时多态应该使用虚函数,并通过基类指针或者引用调用派生类对象的虚函数。注意:虚函数的声明只能出现在类声明时的函数原型中,派生类可以不显示的声明为虚函数,系统自动片时虚函数之间的关系还是重载函数之间的关系,虚函数不能是友函数或者静态函数,必须是成员函数。总之一句话:在有虚函数时指针或者引用的向上转型,编译看左边,访问看右边——这叫虚函数之间的关系。

C++ (P199—P)多态和虚函数

原文:http://www.cnblogs.com/dongzhuangdian/p/5256969.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!