成員變數裡面如果包含了引用型別,應該如何初始化此成員變數才不報錯
答:需要利用類的初始化列表來構造該成員物件
classdog1
;
string
m_strname;
};class
cat1
dog1&m_friend;
int &m_nfriendcnt;
};void
main()
這裡用了兩種方法初始引用型別的成員變數,一種是new(析構函式處記得釋放..),一種是上層傳入(注意該物件的生命週期)..
注意..如果建構函式直接構造物件並把物件付給成員,建構函式結束時成員指向的物件也被棧**了,後果很嚴重,傳入引用物件的話請注意好該物件的生命週期
C 研發面試常問問題整理
1 在瀏覽器中輸入乙個 開啟網頁的過程,用到了什麼協議,這些協議分別在 用到。dns解析 tcp連線 http請求 伺服器處理請求並返回http報文 瀏覽器解析渲染介面。參考 前端經典面試題 從輸入url到頁面載入發生了什麼?2 tcp三次握手及四次揮手的過程。為什麼不是兩次?如果兩次握手有什麼後果...
c 常問問題十六 移動建構函式
今天我們來講講c 11中引入了兩個新東西 1.move constructor 移動建構函式 2.move assignment 移動賦值 class rule of five rule of five rule of five const rule of five other copy const...
C 模板類繼承,成員訪問問題
c 中宣告乙個模板類及子類,在子類中如果需要訪問父類的protected變數,需要使用父類的類作用域限定符,否則會報 identifier not found 錯誤。例如 templateclass a template 模板的繼承,基類需要指定模板引數 class b public a 模板函式的...