C 的各種函式概念

2022-08-27 07:39:10 字數 1428 閱讀 8011

1、建構函式

類的一種特殊的成員函式,它會在每次建立類的物件時執行。建構函式的名稱與類的名稱完全相同,並不會返回任何型別,也不會返回void(無型別)。

作用:初始化物件的資料成員。

①預設建構函式

class

shape

void setheight(int

h)

intgetwidth()

intgetheight()

private

:

intwidth;

intheight;

};//

定義shape建構函式

shape::shape(void

)

②帶引數的建構函式

建構函式帶引數,這樣在建立物件時就會給物件建立初始值。

class

shape

void setheight(int

h)

intgetwidth()

intgetheight()

private

:

intwidth;

intheight;

};//

定義帶引數的shape建構函式

shape::shape(int w,int

h)

2、拷貝建構函式

拷貝建構函式是一種特殊的建構函式,函式的名稱和類的名稱一致。它的唯一的乙個引數是本型別的乙個引用變數。該引數是const型別,不可變的。

相同型別的類物件是通過拷貝建構函式來完成整個複製過程的。

當類的物件需要拷貝時,拷貝建構函式將會被呼叫。以下情況都會呼叫到拷貝建構函式:

①乙個物件需要通過另外乙個物件進行初始化。案例:

②乙個物件以值傳遞的方式傳入函式體。案例:

③乙個物件以值傳遞的方式從函式返回。

class

shape

//拷貝建構函式

shape(const shape &

s)

intgetwidth()

intgetheight()

private

:

intwidth;

intheight;

};

3、析構函式

析構函式的名稱與類的名稱相同,在前面加~作為字首。它不會返回任何值,也不能帶任何引數。它在每次刪除物件時執行,有助於釋放資源。

4、虛函式

在某基類中宣告為virtual並在乙個或多個派生類中被重新定義的成員函式。

作用:實現多型性,通過指向派生類的基類指標或引用,訪問派生類中同名覆蓋成員函式。

C 中的繼承與虛函式各種概念

c 中的繼承與虛函式各種概念 虛繼承與一般繼承 虛繼承和一般的繼承不同,一般的繼承,在目前大多數的 c 編譯器實現的物件模型中,派生類物件會直接包含基類物件的字段。而虛繼承的情況,派生類物件不會直接包含基類物件的字段,而是通過乙個間接的指標去訪問基類物件中的字段。繼承的特性 繼承是物件導向中引入的重...

C 中的繼承與虛函式各種概念

虛繼承與一般繼承 虛繼承和一般的繼承不同,一般的繼承,在目前大多數的c 編譯器實現的物件模型中,派生類物件會直接包含基類物件的字段。而虛繼承的情況,派生類物件不會直接包含基類物件的字段,而是通過乙個間接的指標去訪問基類物件中的字段。繼承的特性 繼承是物件導向中引入的重要特性之一,它的乙個重要的特點就...

C 函式過載的概念

過載的起源 自然語言中,乙個詞可以有許多不同的含義,即該詞被過載了。人們可以通過上下文來判斷該詞到底是哪種含義。詞的過載 可以使語言更加簡練。例如 吃飯 的含義十分廣泛,人們沒有必要每次非得說清楚具體吃什麼不可。別迂腐得象孔已己,說茴香豆的茴字有四種寫法。在c 程式中,可以將語義 功能相似的幾個函式...