純虛函式與靜態成員

2021-08-19 05:07:52 字數 1204 閱讀 5421

在成員函式的形參後面寫上= 0 ,則成員函式為純虛函式。包含純虛函式的類叫做抽象類(也叫介面類),抽象類不能例項化出物件。純虛函式在派生類中重新定義以後,派生類才能例項化出物件。

#include 

#include

using

namespace

std;

class person

protected :

string _name ; // 姓名

};class student : public person

};int main()

靜態資料成員為各個物件所共享,不只是屬於某一物件成員,所有物件都可引用

靜態資料成員記憶體只佔乙個空間

若只宣告了類未定義物件,則類的一般資料成員不佔空間,只有在定義物件時,才為物件的資料成員分配空間。在為物件分配空間的時候,不分配靜態資料成員的空間,靜態資料成員的空間在所有物件外單獨分配空間。

只要定義了靜態資料成員,即使不定義物件,也為靜態資料成員分配空間,可以被引用。

如果在乙個函式中定義了靜態變數,在函式結束時不釋放靜態變數,仍保留其值,靜態資料成員在程式編譯時分配空間,程式結束時釋放空間,靜態資料成員在類外初始化。

靜態資料成員實現物件間的資料共享,靜態資料成員的作用域僅限於該類的作用域。

靜態成員函式是類的一部分,不是物件的一部分。類外呼叫類名 ::函式。

靜態成員函式為了處理靜態資料成員

靜態成員函式沒有this指標

靜態成員函式可以直接引用本類的靜態資料成員。

**實現:

class   person

static

void show()//靜態成員函式

protected:

string _name; // 姓名

public:

static

int _count; // 統計人的個數。

};int person::_count = 0;//靜態成員變數初始化

class student : public person

;class graduate : public student

;int main()

虛函式與純虛函式

1 基本形式 virtual returntype function 1 虛函式宣告 virtual returntype function 2 0 純虛函式宣告 先講示例吧,再總結結論。2 示例 classanimail 這段 的輸出結果是什麼呢?起初我認為是 animail function 1...

虛函式與純虛函式

參考 虛函式 比如 virtual void function1 virtual關鍵字修飾的 成員函式 就是虛函式。把基類的成員函式 設為virtual,其 派生類的相應的函式也會自動變為虛函式。指向 基類的指標在操作它的 多型類物件時,會根據不同的類物件,呼叫其相應的函式,這個函式就是虛函式。純虛...

虛函式與純虛函式

1 基本形式 virtual returntype function 1 虛函式宣告 virtual returntype function 2 0 純虛函式宣告 先講示例吧,再總結結論。2 示例 classanimail 這段 的輸出結果是什麼呢?起初我認為是 animail function 1...