在C++中,抽象類是一種不能被實例化的類,它通常用作基類來定義接口和實現一些通用的功能
class AbstractClass {
public:
// 構造函數
AbstractClass() {
// ...
}
// 虛析構函數,以確保派生類的析構函數被正確調用
virtual ~AbstractClass() {
// ...
}
// 純虛函數,沒有定義實現
virtual void pureVirtualFunction() = 0;
};
在這個例子中,AbstractClass
是一個抽象類,因為它包含了一個純虛函數 pureVirtualFunction()
。純虛函數的定義以= 0
結尾,這意味著任何繼承自 AbstractClass
的派生類都必須提供這個函數的實現。
class DerivedClass : public AbstractClass {
public:
// 構造函數
DerivedClass() {
// ...
}
// 析構函數
~DerivedClass() {
// ...
}
// 實現純虛函數
void pureVirtualFunction() override {
// ...
}
};
在這個例子中,DerivedClass
繼承自 AbstractClass
并實現了 pureVirtualFunction()
?,F在,DerivedClass
可以被實例化,并且可以用來創建對象,這些對象可以調用 pureVirtualFunction()
函數。