在C++中,抽象類是一種特殊的類,不能被實例化,只能被用作其他類的基類。抽象類通常用于定義一組相關的方法的接口,而不提供具體的實現。下面是定義和使用抽象類的步驟:
class AbstractClass {
public:
virtual void foo() = 0; // 純虛函數
};
class ConcreteClass : public AbstractClass {
public:
void foo() {
// 實現純虛函數
}
};
AbstractClass* obj = new ConcreteClass();
obj->foo(); // 調用子類實現的純虛函數
delete obj;
需要注意的是,由于抽象類不能被實例化,只能通過指針或引用來訪問,所以通常需要使用動態內存分配來創建抽象類的對象。另外,如果一個類繼承了抽象類,但沒有實現所有的純虛函數,那么該類也會變成抽象類,無法被實例化。