虛函式和純虛函式

2021-09-19 08:55:17 字數 585 閱讀 1039

目錄

1.虛函式

2.純虛函式

3.虛函式表

4.注意

5.**示例

#include using namespace std;

class a

//建構函式不能呼叫虛函式

a() {} //建構函式不能呼叫虛函式

~a() {}

virtual void fun1() //虛函式

virtual void fun2() = 0; //純虛函式

void fun3() //成員函式呼叫虛函式

protected:

short data1;

short data2;

};class b :public a

~b() {}

virtual void fun1() //virtual可以省略

virtual void fun2()

protected:

double data3;

};int main()

虛函式和純虛函式

除了繼承外,c 的另乙個優良特性是支援多型,即允許將派生類的物件當作基類的物件使用。如果a是基類,b和c是a的派生類,多態函式test的引數是a的指標。那麼test函式可以引用a b c的物件。示例程式如下 class a void test a a class b public a class c...

虛函式 和 純虛函式

簡單的說,介面 就是該類的public函式。由於在類的外部一般只能通過這些公共函式才能訪問乙個類,所以這些函式就稱為類的介面。雖然乙個類也可以存在public成員資料,但是,一般不要編寫這種能夠直接在類的外部訪問的public資料,因為這樣就使資訊隱藏性受到一定的 破壞 當使用乙個基類的指標指向其乙...

純虛函式和虛函式

首先 強調乙個概念 定義乙個函式為虛函式,不代表函式為不被實現的函式。定義他為虛函式是為了允許用基類的指標來呼叫子類的這個函式。定義乙個函式為純虛函式,才代表函式沒有被實現。定義純虛函式是為了實現乙個介面,起到乙個規範的作用,規範繼承這個類的程式設計師必須實現這個函式。1 簡介 假設我們有下面的類層...