【问题标题】:Is Polymorphism possible in C? [duplicate]C语言中可以实现多态吗? [复制]
【发布时间】:2015-01-13 20:53:04
【问题描述】:

我可以在结构中包含或声明函数吗?我正在尝试在 C 中实现多态性。如果定义一个函数不是正确的方法,我还可以使用哪些其他方法?

【问题讨论】:

  • 你不能让 structs 继承自其他 structs,所以在 vanilla C 中子类多态是不可能的(不用自己做)。
  • @voithos 实际上这在纯 C 中是可能的。
  • C 中的多态性:仅使用函数指针和强制转换。

标签: c


【解决方案1】:

多态性作为面向对象语言的特性在 C 中不可用。封装和继承也不可用 - 该语言没有相应的特性。

然而,这并不意味着不可能使用 C 的常规特性来建模相应的行为:可以构建一个库,让您产生看起来像多态的行为,例如,通过使用函数指针。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 2012-12-10
    • 1970-01-01
    • 2010-11-08
    • 2010-10-15
    相关资源
    最近更新 更多