静态多态通过彼此单独定义但支持共同操作的具体类来描述共同性,也就是说必须存在必需的同名成员函数。
代码示例:
#include <iostream>
using namespace std;
class Car
{
public:
void act() const
{
cout << "car acting" << endl;
}
};
class Bus
{
public:
void act() const
{
cout << "bus acting" << endl;
}
};
template <typename Machine>
void act_machine(const Machine &machine)
{
machine.act();
}
int main()
{
Car car;
Bus bus;
act_machine(car);
act_machine(bus);
}
可以发现,所谓静态多态是通过模板template实现。而且这种实现方式为C++引入了泛型,STL就是它的典型应用。
其实多态除了动态多态和静态多态,还有函数多态和宏多态,之后可以再去了解了解。
1469

被折叠的 条评论
为什么被折叠?



