C ++中的早期绑定和晚期绑定
在本节中,我们将了解什么是早期绑定以及什么是C++中的后期绑定。绑定是指将标识符转换为地址的过程。对于每个变量和函数,都完成了绑定。对于函数,它将调用与编译器正确的函数定义匹配。绑定在编译时或运行时完成。
早期绑定
这是编译时多态。在这里,它直接将地址与函数调用关联。对于函数重载,这是早期绑定的一个示例。
示例
#include<iostream>
using namespace std;
class Base {
public:
void display() {
cout<<" In Base class" <<endl;
}
};
class Derived: public Base {
public:
void display() {
cout<<"In Derived class" << endl;
}
};
int main(void) {
Base *base_pointer = new Derived;
base_pointer->display();
return 0;
}输出结果
In Base class
后期绑定
这是运行时多态。在这种类型的绑定中,编译器添加了在运行时标识对象类型的代码,然后将该调用与正确的函数定义进行匹配。这是通过使用虚拟功能来实现的。
示例
#include<iostream>
using namespace std;
class Base {
public:
virtual void display() {
cout<<"In Base class" << endl;
}
};
class Derived: public Base {
public:
void display() {
cout<<"In Derived class" <<endl;
}
};
int main() {
Base *base_pointer = new Derived;
base_pointer->display();
return 0;
}输出结果
In Derived class
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短