阅读量:0
在C++中,多态是指允许使用基类指针或引用来操作派生类对象。通过虚函数(virtual function)实现多态。下面是一个简单的例子来说明如何在C++类中使用多态:
- 首先,定义一个基类(base class):
#include <iostream> using namespace std; class Animal { public: virtual void makeSound() { cout << "The animal makes a sound" << endl; } };
- 然后,定义一个派生类(derived class),继承自基类:
class Dog : public Animal { public: void makeSound() override { cout << "The dog barks" << endl; } };
- 最后,在主函数(main function)中,使用基类指针指向派生类对象,并调用虚函数:
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()
函数。这就是多态的体现。