在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()函數。這就是多態的體現。