c++构造函数浅析
構(gòu)造函數(shù) :
1.初始化對象,對象就是一個物化的東西,其一創(chuàng)造出來就是一個完整的物體,在面向?qū)ο筮@個體系中對象在使用之前就應(yīng)該是初始化好的,不應(yīng)讓別人去初始化。
ps:構(gòu)造函數(shù)不去分配內(nèi)存,其一new一個對象時new語句本身就是分配內(nèi)存的,而不是構(gòu)造函數(shù)分配的。其二靜態(tài)全局對象在main函數(shù)沒有運行之前就已經(jīng)存在了。更別說去執(zhí)行構(gòu)造函數(shù)。而是由編譯器事先就分配好的,直接load內(nèi)存使用。
2.為對象分配資源
文件等資源的分配以及對象的使用分配堆內(nèi)存
3.其它程序員認(rèn)為要做的事情。
對象的創(chuàng)建到對象的使用這個時間點要干的事情,如,載入對象要用的庫,在析構(gòu)函數(shù)中卸載庫
?
為什么要設(shè)計構(gòu)造函數(shù)、析構(gòu)函數(shù)
1.更好的體現(xiàn)“物化”思想(自動性)
2.更好的封裝性(避免從外部初始化)
3.更有效地使類架構(gòu)設(shè)計與程序架構(gòu)設(shè)計分開
通過繼承派生的關(guān)系寫一個類庫。程序架構(gòu)設(shè)計通過類創(chuàng)建一個個的對象(類是給編譯器看你的不參加實際的運算),對象之間組織起來的架構(gòu)就是程序的架構(gòu)。
?
4.導(dǎo)致更清晰的面向接口編程、更有效的復(fù)用
一個好的程序是接口到接口的去操作,接口去操作另外類的數(shù)據(jù)是不好的類設(shè)計造成的。
轉(zhuǎn)載于:https://www.cnblogs.com/susen/p/5705229.html
總結(jié)
- 上一篇: winform让子窗体始终居于父窗体的中
- 下一篇: LWIP网络接口管理