如何用c语言实现多态

问问题描述

如何用c语言实现多态,有没有大佬在?求高手帮忙看看这个!

答精选答案

最佳答案

最简单的做法是在结构体里存函数指针,然后初始化结构体的时候将函数的地址赋值给它。复杂一点的,就得按照C++的多态原理,用虚函数表(其实就是能记录函数名对应的函数地址就好)记录每种结构体的成员函数地址,然后每个结构体里多存一个虚函数表的地址。。。然后调用函数的时候查到函数地址强转成函数类型然后调用。。。这个可以自己研究一下c++的虚函数表机制。

本文来自作者[古罗马]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/1897485.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • 古罗马
    古罗马 2026年09月30日

    我是公众科技网的签约作者“古罗马”!

  • 古罗马
    古罗马 2026年09月30日

    希望本篇文章《如何用c语言实现多态》能对你有所帮助!

  • 古罗马
    古罗马 2026年09月30日

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • 古罗马
    古罗马 2026年09月30日

    本文概览:最简单的做法是在结构体里存函数指针,然后初始化结构体的时候将函数的地址赋值给它。复杂一点的,就得按照C++的多态原理,用虚函数表(其实就是能记录函数名对应的函数地址就好)记录每种结构体的成员函数地址,然后每个结构体里多存一个虚函数表的地址。。。然后调用函数的时候查到函数地址强转成函数类型然后调用。。。这个可以自己研究一下c++的虚函数表机制。

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们