C++的多態性允許我們通過基類指針或引用來調用派生類的成員函數。處理繼承關系時,多態性主要通過虛函數(virtual function)實現。以下是如何使用虛函數處理繼承關系的簡要說明:
virtual
聲明一個成員函數為虛函數。這樣,派生類中的同名函數將自動成為虛函數。class Base {
public:
virtual void show() {
cout << "Base class show()" << endl;
}
};
class Derived : public Base {
public:
void show() override {
cout << "Derived class show()" << endl;
}
};
int main() {
Base *b = new Derived();
b->show(); // 輸出 "Derived class show()"
delete b;
return 0;
}
在這個例子中,我們創建了一個指向Derived
對象的Base
指針。當我們通過該指針調用show()
函數時,實際執行的是Derived
類中的實現,而不是Base
類中的實現。這就是多態性在C++中處理繼承關系的方式。