類和物件程式設計(三) 建構函式 析構函式

2021-09-21 01:38:07 字數 1570 閱讀 7611

類的建構函式是類的一種特殊的成員函式,它會在每次建立類的新物件時執行。

建構函式的名稱與類的名稱是完全相同的,並且不會返回任何型別,也不會返回 void。建構函式可用於為某些成員變數設定初始值。

下面的例項有助於更好地理解建構函式的概念:

例項

#include using namespace std;

class line;

// 成員函式定義,包括建構函式

line::line(void)

void line::setlength( double len )

double line::getlength( void )

// 程式的主函式

int main( );

// 成員函式定義,包括建構函式

line::line( double len)

void line::setlength( double len )

double line::getlength( void )

// 程式的主函式

int main( )

上面的語法等同於如下語法:

line::line( double len)

假設有乙個類 c,具有多個字段 x、y、z 等需要進行初始化,同理地,您可以使用上面的語法,只需要在不同的字段使用逗號進行分隔,如下所示:

c::c( double a, double b, double c): x(a), y(b), z(c)

類的析構函式是類的一種特殊的成員函式,它會在每次刪除所建立的物件時執行。

析構函式的名稱與類的名稱是完全相同的,只是在前面加了個波浪號(~)作為字首,它不會返回任何值,也不能帶有任何引數。析構函式有助於在跳出程式(比如關閉檔案、釋放記憶體等)前釋放資源。

下面的例項有助於更好地理解析構函式的概念:

例項

#include using namespace std;

class line;

// 成員函式定義,包括建構函式

line::line(void)

line::~line(void)

void line::setlength( double len )

double line::getlength( void )

// 程式的主函式

int main( )

{ line line;

// 設定長度

line.setlength(6.0);

cout << "length of line : " << line.getlength() 《當上面的**被編譯和執行時,它會產生下列結果:

object is being created

length of line : 6

object is being deleted

類和物件 構造析構函式

a.類和物件 1.關鍵字class表明正宣告乙個類,類中資料成員 屬性 和資料功能 行為 經過封裝,使得使用者通過外部介面訪問。2.類的封裝隱藏了實現細節,同時也保證了資料的安全性。3.只要類的外部介面不變,內部實現細節再怎麼修改,使用類庫的程式也不用修改。4.物件是類型別的變數。5.內聯成員函式 ...

PHP 類和物件(建構函式和析構函式)

1.建構函式 construct php 5 允行開發者在乙個類中定義乙個方法作為建構函式。具有建構函式的類會在每次建立物件時先呼叫此方法,所以非常適合在使 用物件之前做一些初始化工作。如下例1 class fun1 tom new fun1 結果為 開頭就呼叫建構函式 注意 如果子類中定義了建構函...

類 建構函式和析構函式

一.類 類定義的變數就是物件 1.建構函式 只有 建立物件的時候系統自動呼叫的函式 初始化物件 1 建構函式名與類名相同 2 建構函式沒有返回值 3 建構函式可以過載 注意 關於建構函式 1 如果建構函式被呼叫了,則一定有乙個新物件被建立了 2 如果有乙個新物件被建立,則一定有乙個建構函式被呼叫了 ...