C++:晚期绑定实例代码
在C++中,晚期绑定是一种用于虚函数的特性。它允许在运行时动态地确定要调用的函数版本,而不是在编译时就固定下来。这对于实现多态特别有用。
下面是一个简单的例子。我们首先定义一个基类Animal,其中包含一个虚函数speak()。然后我们创建两个派生类Dog和Cat,它们都重写了speak()方法。在主函数中,我们将创建一个指向基类的指针,它将在运行时分别指向Dog和Cat对象。我们通过调用speak()方法来演示晚期绑定的使用。
#include <iostream>
using namespace std;
class Animal {
public:
virtual void speak() {
cout << "The animal speaks!" << endl;
}
};
class Dog : public Animal {
public:
virtual void speak() {
cout << "The dog barks!" << endl;
}
};
class Cat : public Animal {
public:
virtual void speak() {
cout << "The cat meows!" << endl;
}
};
int main() {
Animal* a1 = new Dog;
Animal* a2 = new Cat;
a1->speak();
a2->speak();
delete
本文通过实例展示了C++中的晚期绑定特性,即虚函数在运行时动态确定调用版本。通过创建基类Animal及派生类Dog、Cat,演示了如何利用晚期绑定实现多态,强调了这一特性在编写灵活、可维护代码中的作用。
订阅专栏 解锁全文
3万+

被折叠的 条评论
为什么被折叠?



