我正在阅读有关C ++中虚函数的教科书,而本书并没有详细说明运行时绑定是什么。它没有给我任何关于为什么我需要运行时绑定的信息。
也许SO的好人可以为我提供一些链接或信息?
谢谢:]
答案 0 :(得分:3)
这个怎么样? ; d
尽管如此......第一个link看起来还不错。
这是预览:
使用虚函数的最重要原因是在派生类中具有不同的功能。非虚拟成员函数和虚拟成员函数之间的区别在于,非虚拟成员函数在编译时被解析。
来自另一个site:
在大型复杂程序中,虚函数允许程序员简化编程过程。如果使用正确,基类将成功定义其派生类的接口。但是,程序会将此接口的实现留给派生类。因此,程序员可以使用一个接口进行多种实现。此功能还允许创建类库,这些类建立标准接口,但允许程序员根据可能出现的任何独特实现情况定制这些接口。其中一个最受欢迎的库是Microsoft基础类(MFC)库,它提供了在Windows环境中编程所需的接口。该库使程序员不必重新发明Windows界面,而是让他或她专注于这些界面的特定实现。
答案 1 :(得分:1)
最简单的运行时绑定形式是多态。在C ++的上下文中,多态性是通过虚函数实现的。其基本目的是通过指针或对基类的引用来调用派生类实例上的方法。
谷歌搜索虚拟功能应该为你提供了很多关于如何以及为什么这样做的好结果。
答案 2 :(得分:0)
请阅读Uncle Bobs关于面向对象设计的SOLID原则的文章:http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
显然,它们不是关于运行时绑定,而是描述了您尝试解决的需要使用运行时绑定的设计问题的类型。
我认为关于开放封闭原则的文章可能最好地证明(再次,文章不是关于运行时绑定),当你需要这样做时: http://www.objectmentor.com/resources/articles/ocp.pdf