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* a