c 常問問題七 成員變數包含引用型別或者常量

2022-05-30 17:12:10 字數 477 閱讀 3758

成員變數裡面如果包含了引用型別,應該如何初始化此成員變數才不報錯

答:需要利用類的初始化列表來構造該成員物件

class

dog1

;

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 模板函式的...