静态多态和动态多态的区别
时间: 2023-07-19 07:33:48 浏览: 121
动态多态性和静态多态性
静态多态和动态多态都是面向对象编程中的多态性概念,但它们的实现方式不同。
静态多态指的是函数重载,即在同一个类中定义多个名称相同但参数列表不同的函数。在编译时,根据传入的参数类型和个数来确定调用哪个函数。静态多态的实现是在编译时确定的,因此也被称为编译时多态。
动态多态指的是虚函数的使用,即利用继承和虚函数实现的多态性。在运行时,根据对象的实际类型来确定调用哪个函数。动态多态的实现是在运行时确定的,因此也被称为运行时多态。
两者的区别在于实现方式和确定调用的时间不同。静态多态在编译时确定,动态多态在运行时确定。
阅读全文