在C++中,多态是指允许使用基类指针或引用来操作派生类对象。通过虚函数(virtual function)实现多态。下面是一个简单的例子来说明如何在C++类中使用多态:
#include <iostream>
using namespace std;
class Animal {
public:
virtual void makeSound() {
cout << "The animal makes a sound" << endl;
}
};
class Dog : public Animal {
public:
void makeSound() override {
cout << "The dog barks" << endl;
}
};
int main() {
Animal* animal = new Dog(); // 创建一个Dog对象,并用Animal类型的指针指向它
animal->makeSound(); // 调用makeSound()函数,输出结果为 "The dog barks"
delete animal; // 释放内存
return 0;
}
在这个例子中,我们使用基类Animal
的指针指向了一个派生类Dog
的对象。当我们调用animal->makeSound()
时,实际上调用的是派生类Dog
中的makeSound()
函数,而不是基类Animal
中的makeSound()
函数。这就是多态的体现。