在C++中,當一個類繼承另一個類時,它可以決定是否覆蓋或實現被繼承類的純虛函數
#include <iostream>
// 基類(父類)
class Base {
public:
// 聲明一個純虛函數
virtual void pureVirtualFunction() = 0;
};
// 派生類(子類),繼承自Base
class Derived : public Base {
public:
// 實現基類中的純虛函數
void pureVirtualFunction() override {
std::cout << "Derived class implements the pure virtual function." << std::endl;
}
};
int main() {
// 由于Base類包含純虛函數,因此不能創建其實例
// Base base; // 錯誤
// 創建一個Derived類的實例
Derived derived;
// 調用純虛函數
derived.pureVirtualFunction();
return 0;
}
在這個例子中,Base
類包含一個純虛函數pureVirtualFunction()
,這意味著它不能被實例化。Derived
類繼承自Base
類,并實現了pureVirtualFunction()
函數。在main()
函數中,我們創建了一個Derived
類的實例,并調用了pureVirtualFunction()
函數。