c++中运行时和编译时多态性的区别
Difference between runtime and compile time polymorphism in c++
我对这两种多态性感到困惑,请通过简单的例子帮助我,因为我是c++的新手。
多态性意味着在不知道不同对象的确切类型的情况下编写通用代码来处理它们。
静态绑定是一个属性,它允许编译器在编译时解析所调用的类型。但是没有多态性的静态绑定也可以存在。编译时多态性是使用函数和操作符重载实现的,其中编译器具有关于数据类型的所有先验知识。所需的参数,以便在编译时选择适当的函数。动态绑定是一个允许在运行时决定类型的属性。但是没有多态性的动态绑定也可以存在。如果使用动态绑定来编写与层次结构中多个类的对象一起工作的通用代码,那么它将是动态多态性。运行时多态性由虚函数实现(虚函数是在基类中使用关键字virtual声明的成员函数,由其派生类以相同的名称重新定义)。
相关文章:
- 多态性和功能结合
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- C++boost序列化多态性问题
- 如何查找哪个类对象位于数组的特定索引上(多态性)
- 如何在多线程中正确使用unique_ptr进行多态性?
- 具有智能指针的多态性
- 在 C++ 中在堆栈上创建实例时如何保持多态性?
- 继承/多态性 - 我是否被迫使用"protected"变量?
- C++ 多态性在代码::块 17.12 中不起作用
- C++ 泛型和多态性:这种模式可行吗?
- 为什么我们实际上需要运行时多态性?
- 如何在这个简单的最小示例中实现多态性?
- 如何使用静态多态性在 int 和指针类型之间进行转换?
- 无法初始化已知大小的矢量指针,该大小不会因多态性而更改
- C++ 中多态性和函数重载之间的区别
- 静态多态性策略和CRTP有什么区别
- 模板和多态性有什么区别
- 多态性和遗传性有什么区别
- c++中运行时和编译时多态性的区别