静态多态入门示例

来源:互联网 发布:stc单片机用什么编程 编辑:程序博客网 时间:2024/06/05 20:14

静态多态通过彼此单独定义但支持共同操作的具体类来描述共同性,也就是说必须存在必需的同名成员函数。
代码示例:

#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就是它的典型应用。

其实多态除了动态多态和静态多态,还有函数多态和宏多态,之后可以再去了解了解。

0 0