多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描运早述——多态性是核昌允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值改悄扒给它的。
最简单的做法是在结构体里存函数指针,然后初始化结构体的时候将函数的地址赋值给它。复杂一点的,就得按照C++的多态原理,用侍配虚函数表(其实就是能记录函数名对应的函数地址就好)老腔指记录每种结构体的成员函数地址,然后每个结构体里多存一个虚函数表的地址。。。圆汪然后调用函数的时候查到函数地址强转成函数类型然后调用。。。这个可以自己研究一下c++的虚函数表机制。
C 语言是门很强大的时间,从理论上来讲,通过加长开发时间,是可以实现现今计算机软件能达到的所有功能的。原散纤因:
C 语言是和硬件紧密结合的语言,除了机器语言和汇编语言,它是最靠近硬件级的。
而现今的两大 *** 作系统 Linux 和 windows 都是用C语言写的。
所以,如果想完成C++的功能,完全可以通过C语言写一个类似C++的语言出来,然后空掘知再通过这门语言完成所需功能。
总而言之一句话:别的语言能做到的,C语言一定能做到C语言能做到的,别的语言不一定能做到。(别的语言不包括机斗消器语言和汇编语言)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)