如何使用虚函数实现多态性
时间: 2023-06-25 18:04:37 浏览: 103
在 C++ 中,可以使用虚函数来实现多态性。所谓多态性,就是同一个函数名可以有多种不同的实现方式,这些实现方式可以根据不同的对象类型进行调用。
具体实现步骤如下:
1. 在基类中定义虚函数,使用 virtual 关键字修饰。例如:
```
class Animal {
public:
virtual void speak() {
std::cout << "I am an animal" << std::endl;
}
};
```
2. 在派生类中重写基类的虚函数,使用 override 关键字修饰。例如:
```
class Cat : public Animal {
public:
void speak() override {
std::cout << "I am a cat" << std::endl;
}
};
```
3. 创建基类指针,并让它指向派生类对象。例如:
```
Animal* animal = new Cat();
```
4. 调用虚函数,会根据指针所指向的对象类型来调用相应的实现。例如:
```
animal->speak(); // 输出 "I am a cat"
```
这样就实现了多态性。通过虚函数,我们可以在基类中定义一些通用的行为,而在派生类中根据具体需求进行重写,从而实现不同的行为。
阅读全文