




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 文思海輝 2022 技術(shù)崗面試題第1題: 在C+程序中調(diào)用被C編譯器編譯后的函數(shù),為什么要加extern “C” 函數(shù)經(jīng)過編譯系統(tǒng)的翻譯成匯編,函數(shù)名對應(yīng)著匯編標(biāo)號。 由于C編譯函數(shù)名與得到的匯編基本一樣,如:fun()=_fun, main=_main但是C+中函數(shù)名與得到的匯編有比較大的差別。如:由于函數(shù)重載,函數(shù)名一樣,但匯編肯定不能一樣。為了區(qū)分,編譯器會(huì)把函數(shù)名和參數(shù)類型合在一起作為匯編,這樣就解決了重載問題。詳細(xì)如何把函數(shù)名和參數(shù)類型合在一起,要看編譯器的關(guān)心說明白。這樣一來,假如C+調(diào)用C,如fun(),則調(diào)用名就不是C的翻譯結(jié)果_fun,而是帶有參數(shù)信息的一個(gè)名字,因此就不能
2、調(diào)用到fun(),為了解決這個(gè)問題,加上extern C表示該函數(shù)的調(diào)用規(guī)章是C的規(guī)章,則調(diào)用時(shí)就不使用C+規(guī)章的帶有參數(shù)信息的名字,而是_fun,從而達(dá)到調(diào)用C函數(shù)的目的。 第2題: 關(guān)聯(lián)、聚合以及組合的區(qū)分 關(guān)聯(lián):指的是模型元素之間的一種語義聯(lián)系,是類之間的一種很弱的聯(lián)系。關(guān)聯(lián)可以有方向,可以是單向關(guān)聯(lián),也可以是雙向關(guān)聯(lián)??梢越o關(guān)聯(lián)加上關(guān)聯(lián)名來描述關(guān)聯(lián)的作用。關(guān)聯(lián)兩端的類也可以以某種角色參加關(guān)聯(lián),角色可以具有多重性,表示可以有多少個(gè)對象參加關(guān)聯(lián)??梢酝ㄟ^關(guān)聯(lián)類進(jìn)一步描述關(guān)聯(lián)的屬性、操作以及其他信息。關(guān)聯(lián)類通過一條虛線與關(guān)聯(lián)連接。對于關(guān)聯(lián)可以加上一些約束,以加強(qiáng)關(guān)聯(lián)的含義。 關(guān)聯(lián)在C+中呈現(xiàn)
3、為:class A.class B .A:Function1(B b) /或A:Function1(B b) /或A:Function1(B *b)即一個(gè)類作為另一個(gè)類方法的參數(shù)。聚合:指的是整體與部分的關(guān)系。通常在定義一個(gè)整體類后,再去分析這個(gè)整體類的組成結(jié)構(gòu)。從而找出一些組成類,該整體類和組成類之間就形成了聚合關(guān)系。例如一個(gè)航母編隊(duì)包括??漳概?、驅(qū)護(hù)艦艇、艦載飛機(jī)及核動(dòng)力攻擊潛艇等。需求描述中“包含”、“組成”、“分為叢糠?”等詞常意味著聚合關(guān)系。組合:也表示類之間整體和部分的關(guān)系,但是組合關(guān)系中部分和整體具有統(tǒng)一的生存期。一旦整體對象不存在,部分對象也將不存在。部分對象與整體對象之間具有
4、共生死的關(guān)系。聚合和組合的區(qū)分在于:聚合關(guān)系是“has-a”關(guān)系,組合關(guān)系是“contains-a”關(guān)系;聚合關(guān)系表示整體與部分的關(guān)系比較弱,而組合比較強(qiáng);聚合關(guān)系中代表部分事物的對象與代表聚合事物的對象的生存期無關(guān),一旦刪除了聚合對象不肯定就刪除了代表部分事物的對象。組合中一旦刪除了組合對象,同時(shí)也就刪除了代表部分事物的對象。我們用淺顯的例子來說明聚合和組合的區(qū)分?!皣萍彝觥?,國滅了,家自然也沒有了,“國”和“家”明顯也是組合關(guān)系。而相反的,計(jì)算機(jī)和它的外設(shè)之間就是聚合關(guān)系,由于它們之間的關(guān)系相對松散,計(jì)算機(jī)沒了,外設(shè)還可以*存在,還可以接在別的計(jì)算機(jī)上。在聚合關(guān)系中,部分可以*于聚合而存
5、在,部分的全部權(quán)也可以由幾個(gè)聚合來共享,比如打印機(jī)就可以在辦公室內(nèi)被廣闊同事共用。在C+語言中,從實(shí)現(xiàn)的角度講,聚合可以表示為:class A .class B A* a; 即類B包含類A的指針;而組合可表示為:class A.class B A a; .即類B包含類A的對象。關(guān)聯(lián)和聚合的區(qū)分主要在語義上,關(guān)聯(lián)的兩個(gè)對象之間一般是公平的,例如你是我的朋友,聚合則一般不是公平的,例如一個(gè)公司包含了許多員工,其實(shí)現(xiàn)上是差不多的。聚合和組合的區(qū)分則在語義和實(shí)現(xiàn)上都有差別,組合的兩個(gè)對象之間其生命期有很大的關(guān)聯(lián),被組合的對象是在組合對象創(chuàng)建的同時(shí)或者創(chuàng)建之后創(chuàng)建,在組合對象銷毀之前銷毀。一般來說被組合
6、對象不能脫離組合對象*存在,而且也只能屬于一個(gè)組合對象,例如一個(gè)文檔的版本,必需依靠于文檔的存在,也只能屬于一個(gè)文檔。聚合則不一樣,被聚合的對象可以屬于多個(gè)聚合對象,例如一個(gè)員工可能可以屬于多個(gè)公司。 第3題: 面對對象的三個(gè)特征,并簡述之。 第4題: 什么時(shí)候使用“常引用” 假如既要利用引用提高程序的效率,又要愛護(hù)傳遞給函數(shù)的數(shù)據(jù)不在函數(shù)中被轉(zhuǎn)變,就應(yīng)使用常引用。 第5題: static有什么用途? 限制變量的作用域; 設(shè)置變量的存儲(chǔ)域; 第6題: 改錯(cuò)題 Void GetMemory(char *buf,int size) if(buf != NULL ) free( buf ); buf
7、 = (char *) malloc ( size ); Int main(int argc, char *argv ) char * buf; GetMemory( buf , 10); printf(“%s”,buf); free(buf); if(buf != NULL) Printf(“%s”,buf); return 1; 第7題: 已知string類定義如下,寫出類的成員函數(shù)實(shí)現(xiàn)。 Class StringPublic: String(const char *str = NULL); String ( const String another ); String(); String operater = (const
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)訂單收購合同范本
- 茶葉采購與銷售合同樣本
- 無子女離婚法律合同文本
- 正式勞動(dòng)合同書范本合同
- 家居用品采購及安裝合同范本
- 8安全記心上-119的警示(第3課時(shí))(教學(xué)設(shè)計(jì))2023-2024學(xué)年統(tǒng)編版道德與法治三年級上冊
- 10古詩三首《石灰吟》《竹石》教學(xué)設(shè)計(jì)-2023-2024學(xué)年六年級語文下冊統(tǒng)編版
- 人事管理合同樣本大全
- 6《景陽岡》教學(xué)設(shè)計(jì)-2023-2024學(xué)年語文五年級下冊統(tǒng)編版
- 個(gè)人保證貸款合同范本
- 城市更新暨老舊小區(qū)改造二期項(xiàng)目-初步設(shè)計(jì)說明書
- 礦石買賣協(xié)議書
- 2024年岳陽職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 2023新蘇教版六年級下冊科學(xué)學(xué)生活動(dòng)手冊答案
- 【老齡化背景下商業(yè)銀行養(yǎng)老金融發(fā)展探究文獻(xiàn)綜述3400字】
- 《用戶側(cè)電化學(xué)儲(chǔ)能系統(tǒng)接入配電網(wǎng)技術(shù)規(guī)定》
- 安徽省醫(yī)療保障基金使用違法違規(guī)問題檢查指引2023版
- (幻燈片)湘教版七年級下冊地理復(fù)習(xí)課件
- 食堂油鍋起火演練方案及流程
- 2024年江西電力職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 醫(yī)療器械銷售渠道管理
評論
0/150
提交評論