国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  應聘面試  >  物聯網面試題  > 物聯網面試題集錦—C++語言篇(四)

物聯網面試題集錦—C++語言篇(四)

來源:千鋒教育
發布人:syq
時間: 2022-07-12 11:00:00 1657594800

  物聯網嵌入式學習的內容繁雜,很多小伙伴在準備物聯網面試的時候,面對眾多知識點無從下手。小千在此為大家整理了物聯網面試題集錦—C++語言篇,希望能夠幫助大家順利通關!

物聯網面試題

  1、談談啥叫對象成員以及對象成員的構造函數調用方式

  在類中定義的數據成員?般都是基本的數據類型。但是類中的成員也可以是對象,叫做對象成員。

  C++中對對象的初始化是非常重要的操作,當創建?個對象的時候,c++編譯器必須確保調?了所有子對象的構造函數。如果所有的子對象有默認構造函數,編譯器可以自動調用他們。但是如果子對象沒有默認的構造函數,或者想指定調用某個構造函數怎么辦?

  那么是否可以在類的構造函數直接調用子類的屬性完成初始化呢?但是如果子類的成員屬性是私有的,我們是沒有辦法訪問并完成初始化的。

  解決辦法非常簡單:對于?類調用構造函數,c++為此提供了專門的語法,即構造函數初始化列表。 當調用構造函數時,?先按各對象成員在類定義中的順序(和參數列表的順序無關)依次調用它們的構造函數,對這些對象初始化,最后再調用本身的函數體。也就是說,先調用對象成員的構造函數,再調用本身的構造函數。 析構函數和構造函數調用順序相反,先構造,后析構。

  2、談談你對explicit的理解

  c++提供了關鍵字explicit,禁止通過構造函數進行的隱式轉換。聲明為explicit的構造函數不能在隱式轉換中使用;

  (1)C++中只帶有一個參數的構造函數,或者或者除了第一個參數外其余參數都有缺省值的多參構造函數,承擔了兩個角色;

  1.用于構建單參數的類對象

  2.隱含的類型轉換操作符

  例如:一個類A的構造函數A(int i)就是,既可以用來作為構造器,又可以實現隱式轉換A a=1;因為1可以通過構造函數A(int i)轉換為一個類A的對象。(隱含的類型轉換操作符)

  (2)explicit關鍵字只對有一個參數的類構造函數有效, 如果類構造函數參數大于或等于兩個時, 是不會產生隱式轉換的, 所以explicit關鍵字也就無效了。

  (3)聲明為explicit的構造函數不能在隱式轉換中使用,只能顯示調用,去構造一個類對象。

  (4)盡量避免有二義性的類型轉換,如果類中包含一個或多個隱式類型轉換,則必需使用explicit關鍵字確保在類類型和目標類型之間只存在唯一一種隱式轉換方式,否則將出現二義性。

  (5)但是將拷貝構造函數聲明成explicit并不是良好的設計,一般只將有單個參數的constructor聲明為explicit,而copy constructor不要聲明為explicit。

  更多關于物聯網培訓的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項目實操的話可以點擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT