C 類建構函式 析構函式

2021-08-19 07:00:43 字數 2249 閱讀 5250

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

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

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

#include 

using

namespace

std;

class line

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

line::line(void)

void line::setlength( double len )

double line::getlength( void )

// 程式的主函式

int main( )

當上面的**被編譯和執行時,它會產生下列結果:

object

is being created

length of line : 6

預設的建構函式沒有任何引數,但如果需要,建構函式也可以帶有引數。這樣在建立物件時就會給物件賦初始值,如下面的例子所示:

#include 

using

namespace

std;

class line

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

line::line( double len)

void line::setlength( double len )

double line::getlength( void )

// 程式的主函式

int main( )

當上面的**被編譯和執行時,它會產生下列結果:

object is being created, length = 10

length of

line : 10

length of

line : 6

使用初始化列表來初始化字段:

line::line( double len): length(len)

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

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( )

當上面的**被編譯和執行時,它會產生下列結果:

object

is being created

length of line : 6

object

is being deleted

#include

#include

using

namespace

std;

class student

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

student::student(string n,string n,char x,int y) //利用建構函式給類的成員賦值

void student::xianshi() //輸出成員的值

參考文章:

C 類建構函式 析構函式

類的建構函式是類的一種特殊的成員函式,它會在每次建立類的新物件時執行。建構函式的名稱與類的名稱是完全相同的,並且不會返回任何型別,也不會返回 void。建構函式可用於為某些成員變數設定初始值。下面的例項有助於更好地理解建構函式的概念 include using namespace std class...

C 類建構函式 析構函式

類的建構函式是類的一種特殊的成員函式,它會在每次建立類的新物件時執行。建構函式的名稱與類的名稱是完全相同的,並且不會返回任何型別,也不會返回 void。建構函式可用於為某些成員變數設定初始值。下面的例項有助於更好地理解建構函式的概念 include using namespace std class...

C 類建構函式 析構函式

析構函式和建構函式是一對。建構函式用於建立物件,而析構函式是用來撤銷物件。簡單的說 乙個物件出生的時候,使用建構函式,死掉的時候,使用析構函式。建構函式 和 析構函式 各有各的用途,在建構函式中,我們來獲取資源 在析構函式中,我們來釋放資源。釋放了之後,這些資源就會被 可以被重新利用。比如說,我們在...