[英]inheritance of abstract class
我有一個抽象的基類。 我正在從抽象基礎繼承一個新類,而我無法實例化一個對象。 編譯器告訴您的原因是
cannot allocate an object of abstract type
有什么辦法可以克服這個問題。
無法分配抽象類型的對象
這表明您尚未在派生類中實現所有純 virtual
函數。 因此,首先實現所有純虛函數,然后創建此類的實例。
您不能創建甚至只有一個純 virtual
函數的類實例!
請記住, 純虛函數是指分配了零的函數( C ++ Virtual / Pure Virtual Explained ),如下所示:
class sample
{
public:
virtual void f(); //virtual function
virtual void g()=0; //pure virtual function
};
這里只有g()
是純虛函數! 這使sample
成為一個抽象類 ,如果派生類未定義g()
,它也將成為一個抽象類。 您無法創建任何此類的實例,因為它們都是抽象的!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.