物聯(lián)網(wǎng)嵌入式學(xué)習(xí)的內(nèi)容繁雜,很多小伙伴在準(zhǔn)備物聯(lián)網(wǎng)面試的時(shí)候,面對(duì)眾多知識(shí)點(diǎn)無(wú)從下手。小千在此為大家整理了物聯(lián)網(wǎng)面試題集錦—C++語(yǔ)言篇,希望能夠幫助大家順利通關(guān)!
1、談?wù)労瘮?shù)的重載條件
在c語(yǔ)言中函數(shù)名必須是唯一的,程序中不允許出現(xiàn)同名函數(shù)。
在c++中允許函數(shù)重名,即在同一作用域內(nèi),具有相同的函數(shù)名,不同參數(shù)列表的一組函數(shù),稱為函數(shù)重載。
函數(shù)重載的條件:同一作用域:參數(shù)得類型,個(gè)數(shù),順序不同。
函數(shù)重載實(shí)現(xiàn)的原理:
編譯器為了實(shí)現(xiàn)函數(shù)重載,也是默認(rèn)為我們做了?些幕后的?作,編譯器用不同的參數(shù)類型來修飾不同的函數(shù)名,如void func(); 編譯器可能會(huì)將函數(shù)名修飾成func,當(dāng)編譯器碰到void func(int x),編譯器可能將函數(shù)名修飾為func_int,當(dāng)編譯器碰到void func(int x,char c),編譯器可能會(huì)將函數(shù)名修飾為 _func_int_char我這里使用”可能”這個(gè)字眼是因?yàn)榫幾g器如何修飾重載的函數(shù)名稱并沒有?個(gè)統(tǒng)?的標(biāo)準(zhǔn),所以不同的編譯器可能會(huì)產(chǎn)?不同的內(nèi)部名
2、談?wù)刢與c++中struct的不同點(diǎn)
c語(yǔ)?中struct只有數(shù)據(jù) C語(yǔ)言要用struct
c++中的struct不止有數(shù)據(jù) 還有函數(shù) C++可以省略
3、如何理解c++的封裝性?
封裝特性包含兩個(gè)方面,?個(gè)是變量和函數(shù)合成?個(gè)整體,?個(gè)是給屬性和函數(shù)增加訪問權(quán)限。
4、談?wù)勀銓?duì)c++構(gòu)造與析構(gòu)的理解
對(duì)象的初始化和清理也是兩個(gè)非常重要的安全問題,?個(gè)對(duì)象或者變量沒有初始時(shí),對(duì)其使用后果是未知,同樣的使用完?個(gè)變量,沒有及時(shí)清理,也會(huì)造成?定的安全問題。c++為了給我們提供這種問題的解決方案,構(gòu)造函數(shù)和析構(gòu)函數(shù),這兩個(gè)函數(shù)將會(huì)被編譯器?動(dòng)調(diào)用,完成對(duì)象初始化和對(duì)象清理?作。
無(wú)論你是否喜歡,對(duì)象的初始化和清理?作是編譯器強(qiáng)制我們要做的事情,即使你不提供初始化操作和清理操作,編譯器也會(huì)給你增加默認(rèn)的操作,只是這個(gè)默認(rèn)初始化操作不會(huì)做任何事,所以編寫類就應(yīng)該順便提供初始化函數(shù)。
構(gòu)造函數(shù)主要作用在于創(chuàng)建對(duì)象時(shí)為對(duì)象的成員屬性賦值,構(gòu)造函數(shù)由編譯器自動(dòng)調(diào)用,無(wú)須手動(dòng)調(diào)用。 主要用于對(duì)象銷毀前系統(tǒng)自動(dòng)調(diào)用,執(zhí)行?些清理?作。
構(gòu)造函數(shù)和析構(gòu)函數(shù),這兩個(gè)函數(shù)將會(huì)被編譯器自動(dòng)調(diào)用,構(gòu)造函數(shù)完成對(duì)象的初始化動(dòng)作,析構(gòu)函數(shù)在對(duì)象結(jié)束的時(shí)候完成清理工作。
注意:對(duì)象的初始化和清理工作是編譯器強(qiáng)制我們要做的事情,即使你不提供初始化操作和清理操作,編譯器也會(huì)給你增加默認(rèn)的操作,只是這個(gè)默認(rèn)初始化操作不會(huì)做任何事。
構(gòu)造函數(shù):實(shí)例化對(duì)象的時(shí)候系統(tǒng)自動(dòng)調(diào)用
析構(gòu)函數(shù):對(duì)象釋放的時(shí)候系統(tǒng)自動(dòng)調(diào)用
構(gòu)造函數(shù)語(yǔ)法:
構(gòu)造函數(shù)函數(shù)名和類名相同,沒有返回類型,連void都不可以,但可以有參數(shù),可以重載
析構(gòu)函數(shù)語(yǔ)法:
析構(gòu)函數(shù)函數(shù)名是在類名前面加”~”組成,沒有返回類型,連void都不可以,不能有參數(shù),不能重載。
更多關(guān)于物聯(lián)網(wǎng)培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國(guó)內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢(mèng)想。