mirror of
https://gitee.com/apaki/cmake_demo.git
synced 2025-05-17 20:01:36 +08:00
731 B
731 B
cmake_demo
CMAKE
多态
多态的本质
同样的接口,可以即实现父类的功能,也可以实现子类的功能。主要看传参的类型。
C语言实现思路: 因为语法不支持,因此采用特殊的方式来实现。
类型 | 实现方式 | 弊端 | 问题举例 |
---|---|---|---|
匿名结构体 | 指针 | 多重继承,成员可能冲突 | B->A, C->A, D->B,D->C |
虚函数表 | 指针 | 子类父类必须将虚表放在结构体最开头,且不支持多继承下的多态 | |
虚函数多参数 | 指针 | 继承的父类无顺序强制要求,且可以多继承。但类方法参数变多。多继承需要人为注意是调用了其他类还是继承了其他类 |