2013-10-16 57 views
-4

定義類X,Y和Z,使得Y是X的子元素,Z是Y的子元素。類Y應該是抽象的。C++類聲明(inheritence)

Y類聲明應該如何抽象?

+0

它需要至少有一個純虛擬成員函數。 – jrok

回答

0
class X 
{ 
}; 

class Y : public X 
{ 
public: 
    // For defining an abstract class without pure virtual functions: 
    virtual ~Y() = 0; 

    virtual void method() = 0; 
}; 

class Z : public Y 
{ 
public: 
    void method() override 
    { 
    } 
}; 
+0

關閉,但缺少一些標點符號和組成關鍵字。 –

+0

看起來像C++以外的其他語言對我來說。 –

+0

更接近,但C++中沒有'abstract'關鍵字。如果一個類具有純虛擬成員函數,則它是隱式抽象的。 –

0
class Y { 
    public: 
    virtual void foobar() = 0; 
}; 

這是一個C++意義上的抽象類。