据我所知:
C++提供了三种不同类型的多态性.
除了上述三种类型的多态性外,还存在其他种类的多态性:
我知道运行时多态性可以通过虚函数实现 ,静态多态可以通过模板函数实现
但对于另外两个
ad-hoc多态性:
如果可以使用的实际类型的范围是有限的,并且必须在使用之前单独指定组合,则这称为ad-hoc多态.
参数多态性:
如果所有代码都是在没有提及任何特定类型的情况下编写的,因此可以透明地使用任意数量的新类型,这称为参数多态.
我几乎无法理解他们:(
任何人都可以用一个例子解释他们两个吗?我希望这些问题的答案对他们大学的许多新的消息有所帮助.
我想通过说它与范式相关而开始这个问题,我只想澄清一些概念.所以我已经用Python编程了大约两年了,把我的脚趾浸入Java但不是太多,我想深入研究C++.我之前使用过它,但不适用于涉及大量设计的大型项目.
当我第一次开始探索它时,我相信它与Java类似地解决了OOP,其中所有东西都必须实现一个接口.然后我碰到了模板的概念,我立即将其作为一种解决方法,为原型(整数,浮点数)提供多态性行为,而这些原语并没有实现它(基本上是Python通过鸭子输入而没有形式接口).但我很快发现模板用于为非原始类型提供相同的行为.
所以我的问题是:在模板中使用经典多态性的原因是什么,在C++社区中这是什么一般方法?
编辑刚刚发现这几乎解决了这个问题(静态多态性确实需要围绕这个术语).