2016 - 2024

感恩一路有你

物联卡网络不稳定 C 的动态约束是什么意思?

浏览量:2881 时间:2021-03-13 05:59:18 作者:admin

多态性,也称为后约束或动态约束,通常由虚拟函数实现。在C语言中,多态性意味着C代码可以根据不同的运行条件执行不同的操作。多态性是定义同一函数和运算符的多个版本。C支持两种多态性,编译时多态性和运行时多态性。编译时的多态性是通过重载函数获得的,而运行时的多态性是通过继承和虚函数获得的。在C语言中,多态性的实现与函数绑定有关。C语言中有两种函数绑定:静态绑定和动态绑定。静态绑定在程序编译时执行;动态绑定在程序运行时执行。

为了获得多态对象,我们必须建立一个类级别,然后在派生类中重新定义基类函数。函数可以定义为重载函数或虚函数,以在编译时或运行时获取多态对象。

C 的动态约束是什么意思?

C的多态实现主要包括函数重载(包括运算符函数)、模板和虚拟函数。其目的是用相同的函数名调用不同的函数体,以提高程序的可重用性和可扩展性。

函数重载和模板是静态组合的,即函数调用的所有信息在编译时确定。函数重载可以是类的成员函数和友元函数,也可以是类外的普通函数。实际参数的个数或“类型和顺序”用于确定特定的调用,因此定义时,这些同名函数的形式参数或“类型和顺序”的个数必须不同。

虚拟函数采用动态绑定方式,允许在运行时建立函数调用与函数体的连接,并根据对象类型调用相应的函数。虚函数必须是类的成员函数(非静态成员函数)。它必须在基类中声明,并在派生类中重新定义。此外,它的函数类型、函数名、参数个数和顺序必须与基类中的函数原型完全相同。具体调用需要通过基类指针指向派生类对象来获得运行时多态性,并根据指针指向的实际对象调用成员函数。

简单列出使用虚拟函数的两个注意事项。

1)运行时多态性只能通过通过基类指针访问虚拟函数来获得。直接使用派生类对象和点运算符也可以调用虚函数,但它没有利用其多态性。

2)在派生类中重新定义虚函数时,如果其参数的个数、类型和顺序与基类的虚函数原型不同,系统会将其作为普通函数重载进行静态绑定,因此无论如何调用,都不会有运行多态性。

物联卡网络不稳定 dna多态性的四个类型 静态联编通过什么实现

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。