C++——构造和析构函数
? ? ?現(xiàn)在學(xué)習(xí)進(jìn)入第三階段,對c++要有更深入的學(xué)習(xí),關(guān)于構(gòu)造函數(shù)和析構(gòu)函數(shù)這一塊需要總結(jié)一下,來深刻理解這兩個函數(shù)的意義。? ??
? ? ?什么是構(gòu)造函數(shù)和析構(gòu)函數(shù)呢呢?聽著就很高大上,但是要從心里藐視它。就像自然萬物有生有滅一樣,對象也有生命,定義時對象誕生,誕生時需要進(jìn)行初始化,就跟小孩剛出生時大人就會稱一下有多重,初始化就是對數(shù)據(jù)成員進(jìn)行定義。析構(gòu)函數(shù)就是在對象滅亡時刻,完成善后工作。接下來仔細(xì)分析一下這兩個函數(shù)的作用。
? ? 【構(gòu)造函數(shù)】
? ? 它是一種特殊的函數(shù),主要用來在創(chuàng)建對象是初始化對象,即為對象的數(shù)據(jù)成員賦初始值,下面就看看如何進(jìn)行初始化:
? ? ? ?
? ? ? 根據(jù)上面的例子總結(jié)一下構(gòu)造函數(shù)的特點:
a.函數(shù)名稱與定義它的類同名
b.沒有返回值
c.被聲明為公有函數(shù)
d.構(gòu)造函數(shù)不能直接調(diào)用,必須在創(chuàng)建對象是才會由編譯器自動調(diào)用
? ? ?【析構(gòu)函數(shù)】
? ? ?它在對象消失的瞬間自動調(diào)用,與構(gòu)造函數(shù)的作用正好相反,就像白天和黑夜,只能交替不交換。
? ? ? ?
? ? ? 我們來總結(jié)一下析構(gòu)函數(shù)的特點:
a.沒有任何參數(shù),不能被重載,可以使虛函數(shù),一個類只有一個析構(gòu)函數(shù)。
b.沒有返回值
c.類明前加“~”
d.一般由用戶定義,如果用戶沒有定義,系統(tǒng)自動生成一個不做任何事的默認(rèn)析構(gòu)函數(shù)
? ? ?總結(jié):
? ? ?構(gòu)造函數(shù)和析構(gòu)函數(shù)跟我們以前學(xué)習(xí)的VB有點不同,VB是軟件幫我們做了這些事情,到了C++的時候,由用戶自定義這些函數(shù)來完成對象的創(chuàng)建和滅亡之后的工作,讓我們能夠更了解如何創(chuàng)建類。
轉(zhuǎn)載于:https://www.cnblogs.com/zsswpb/p/5771662.html
總結(jié)
以上是生活随笔為你收集整理的C++——构造和析构函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: W3C标准的理解(2015.3.7)(陆
- 下一篇: C++中多态性学习(上)