C++类重点难点
1.構(gòu)造函數(shù)與析構(gòu)函數(shù)
1.1 在創(chuàng)建對象的時候會執(zhí)行構(gòu)造函數(shù),對對象的成員屬性進(jìn)行初始話,在對象的生命周期結(jié)束時,執(zhí)行析構(gòu)函數(shù);
1.2 設(shè)計到動態(tài)分配內(nèi)存的時候,在構(gòu)造函數(shù)中進(jìn)行內(nèi)存分配,在析構(gòu)函數(shù)中進(jìn)行內(nèi)存的釋放。
2.復(fù)制構(gòu)造函數(shù)
2.1 復(fù)制構(gòu)造函數(shù)是構(gòu)造函數(shù)的一種,主要在類對象作為函數(shù)參數(shù)或者函數(shù)返回值時被調(diào)用,這時候只調(diào)用復(fù)制構(gòu)造函數(shù),而不會調(diào)用構(gòu)造函數(shù);因此,在復(fù)制構(gòu)造函數(shù)中,需要對類成員屬性進(jìn)行初始化和類存分配。
3.重載運算符
3.1 當(dāng)我們用一個類對象賦值給另一個類對象是,需要重載 = ,將類成員屬性賦值另一個對象。在涉及到內(nèi)存分配的類是,需要判斷分配的內(nèi)存大小是否一樣,若大小不一樣,則無法賦值。或者在有復(fù)制構(gòu)造函數(shù)的情況下,可以重現(xiàn)創(chuàng)建一個局部對象然后賦值后,將這個對象返回。
3.2 在沒有定義賦值狗造函數(shù)的時候,當(dāng)一個類對象作為函數(shù)返回值時,這個對象會在函數(shù)返回后,被析構(gòu)掉,這時可以通過new 來創(chuàng)建這個對象,然后返回這個對象,這時這個對象不會被析構(gòu)掉,這個對象需要delete來釋放,才會執(zhí)行析構(gòu)函數(shù)。
總結(jié)
- 上一篇: linux的基础知识——shell基础
- 下一篇: s3c2440移植MQTT