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