C++ 虚函数初探
2020-07-17 本文已影响0人
全方位小白
失败是上帝以说不的方式,帮你逼近真相。
最近学习代码的时候看到好多虚函数,这是一个让人感到迷惑的名字。刚开始看到virtual
这个关键字我一度以为这可能不是真的函数,而是另有神奇的功能。后来去查了一下,在《C++ Primer》中找到了相关的内容:
C++中基类将类型相关的函数与派生类不做改变直接继承的函数区分对待。对于某些函数,积累希望它的派生类各自定义适合自身的版本,此时基类就将这些函数声明成虚函数。
说简单些就是,
《C++ Primer》中还提到
在C++中,当我们使用基类的引用(或指针)调用一个虚函数时将发生动态绑定。
虚函数最有趣的性质,莫过于其在编译时并不确定被调用的形式,只有在使用时才被解析。而虚函数也是C++中著名的多态的实现机制。
再进一步的内容可能需要配合实践进行进一步地学习了,此处附上一篇我觉得写的很详细的博客:C++中的虚函数(virtual function) (细节,决定成败)