问问题描述
如何用c语言实现多态,有没有大佬在?求高手帮忙看看这个!
答精选答案

最简单的做法是在结构体里存函数指针,然后初始化结构体的时候将函数的地址赋值给它。复杂一点的,就得按照C++的多态原理,用虚函数表(其实就是能记录函数名对应的函数地址就好)记录每种结构体的成员函数地址,然后每个结构体里多存一个虚函数表的地址。。。然后调用函数的时候查到函数地址强转成函数类型然后调用。。。这个可以自己研究一下c++的虚函数表机制。
本文来自作者[古罗马]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/1897485.html
评论列表(4条)
我是公众科技网的签约作者“古罗马”!
希望本篇文章《如何用c语言实现多态》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:最简单的做法是在结构体里存函数指针,然后初始化结构体的时候将函数的地址赋值给它。复杂一点的,就得按照C++的多态原理,用虚函数表(其实就是能记录函数名对应的函数地址就好)记录每种结构体的成员函数地址,然后每个结构体里多存一个虚函数表的地址。。。然后调用函数的时候查到函数地址强转成函数类型然后调用。。。这个可以自己研究一下c++的虚函数表机制。