请简述运行期绑定和编译期绑定的区别? C++中实现多态的三个前提条件是什么?
时间: 2024-06-05 19:11:53 浏览: 190
运行期绑定和编译期绑定是指在程序运行的不同时期进行绑定的方式。
编译期绑定是指在编译期间就确定了函数或方法的调用对象,因此编译器可以直接将函数的地址绑定到调用语句上。例如C++中的普通函数和静态成员函数就是编译期绑定的。
运行期绑定则是指在程序运行时才确定函数或方法的调用对象,因此需要在运行时查找函数地址并进行绑定。例如C++中的虚函数就是运行期绑定的。
实现多态的三个前提条件是:
1. 存在继承关系,即存在基类和派生类;
2. 基类中定义虚函数,即使用 `virtual` 关键字声明;
3. 派生类中重写(覆盖)基类的虚函数。
阅读全文