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