几天前,我进行了C++考试,但遇到了这个问题,但发现对我来说尚不清楚,问题是:
而根据Absolute C++第五版p669定义的多态性为:
从这个定义中我可以理解,不使用虚函数就不会有多态性,不是吗?所以这个问题没有两个不同的代码片段实现,对吗?使用虚函数只有一个
我的问题是:这是一个有效的问题吗?
最佳答案
不,这与预期的答案“看起来只有虚拟函数提供c++中的多态性”无关。这个问题太狭窄了,容易引起误解。
从这个定义中我可以理解,不使用虚函数就不会有多态性,不是吗?
实际上,没有virtual
函数,您就可以拥有多态性。
它称为静态多态性,查找CRTP pattern和SFINAE。
好吧,强调后期绑定(bind)实际上缩小了动态多态性和(纯)virtual
函数的问题。但是恕我直言,这仍然是一个糟糕的考试,问题太狭窄/不清楚。
关于c++ - C++中的多态性和我的考试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35092873/