VC++ (三)虚函数与重载
VC++中如果類包含有純虛函數,則類必須聲明為抽象類,如下:
class CGDIElement abstract??? //類包含純虛函數時,必須定義為抽象類
{
public:
?CGDIElement(void);????????????//構造函數不能是虛函數,派生類繼承方式見后
?virtual ~CGDIElement(void);? //析構函數如果要讓派生類繼承,必須定義為虛函數
?virtual void Init(void) = 0; //純虛函數
};
派生類的定義如下:
class CGDILine : public CGDIElement
{
public:
?CGDILine(void)?:CGDIElement() //調用基類的構造函數
?{? };
?virtual ~CGDIElement(void);?? //派生類的虛析構函數能夠自動調用基類的析構函數
?virtual void Init (void){};?? //基類的純虛函數在派生類中重載,不能執行基類的純虛函數,因為其不存在。?
};?
第三級派生類定義如下:
class CGDIDotLine : public CGDILine
{
public:
?virtual void Init (void)???
?{?CGDILine::Init();???????? //派生類必須顯性調用基類的函數
??};
};
總結
以上是生活随笔為你收集整理的VC++ (三)虚函数与重载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android用户界面设计“.NET研究
- 下一篇: s3c2440移植MQTT