2
我可以在结构中包含或声明函数吗?我试图在C中实现多态性。如果定义一个函数不是正确的方法,我可以使用哪些其他方法?C中可能是多态吗?
我可以在结构中包含或声明函数吗?我试图在C中实现多态性。如果定义一个函数不是正确的方法,我可以使用哪些其他方法?C中可能是多态吗?
作为面向对象语言的一个特性,多态性在C语言中是不可用的。封装和继承都没有 - 语言没有相应的功能。
但是,这并不意味着用C的常规特性来建模相应的行为是不可能的:可以构建一个库,使您可以生成看起来像多态的行为,例如通过使用数组的函数指针。
你不能让'struct'从其他'struct's继承,所以subclass-polymorphism在香草C中是不可能的(无需亲自操作)。 – voithos
@voithos其实这在C中是可能的。 – 2501
C中的多态性:只使用函数指针和铸造。 – sdao