C++面向?qū)ο蟾呒壘幊?第二周 博覽網(wǎng)

三大函數(shù):拷貝賦值、拷貝構(gòu)造、析構(gòu)

  • class內(nèi)有指針的情況下不能使用編譯器默認(rèn)的構(gòu)造、賦值、析構(gòu)函數(shù)。特別是拷貝構(gòu)造,拷貝賦值函數(shù)。
  • 對于含有指針的拷貝賦值函數(shù),首先要進(jìn)行自我賦值檢測(如果是自我賦值而沒有自我賦值檢測會造成嚴(yán)重的錯誤),其次要將之前的指針指向的內(nèi)容釋放掉,否則會造成內(nèi)存泄漏。
  • 在class內(nèi)的成員變量和成員函數(shù)中,如果成員變量前加static修飾符則其在內(nèi)存內(nèi)某一個地方單獨存在,無論創(chuàng)建多少object都只有一份。在成員函數(shù)前加static修飾,則函數(shù)變?yōu)殪o態(tài)成員函數(shù),它不能使用默認(rèn)的this指針,故只能操作靜態(tài)成員變量。對于靜態(tài)成員變量應(yīng)該在class聲明后進(jìn)行初始化操作。 調(diào)用static函數(shù)的方式有兩種:1.通過object調(diào)用2.通過class name調(diào)用。
  • class模板以template <typename T>開頭
  • function模板以template <class T>開頭
  • 使用命名空間
namespace std {
    ...//定義  可以分開寫,不需要一次全部寫完
}
  • 轉(zhuǎn)換函數(shù)重載 operator type() const;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容