国产精品一久久香蕉产线看-国产精品一区在线播放-国产精品自线在线播放-国产毛片久久国产-一级视频在线-一级视频在线观看免费

經(jīng)典C/C++面試題

時間:2022-07-11 20:49:56 面試 我要投稿
  • 相關(guān)推薦

經(jīng)典C/C++面試題

1.介紹一下STL,詳細(xì)說明STL如何實現(xiàn)vector。

經(jīng)典C/C++面試題

Answer:

STL (標(biāo)準(zhǔn)模版庫,Standard Template Library)它由容器算法迭代器組成。

STL有以下的一些優(yōu)點:

可以方便容易地實現(xiàn)搜索數(shù)據(jù)或?qū)?shù)據(jù)排序等一系列的算法;

調(diào)試程序時更加安全和方便;

即使是人們用STL在UNIX平臺下寫的代碼你也可以很容易地理解(因為STL是跨平臺的)。

vector實質(zhì)上就是一個動態(tài)數(shù)組,會根據(jù)數(shù)據(jù)的增加,動態(tài)的增加數(shù)組空間。

2.如果用VC開發(fā)程序,常見這么幾個錯誤,C2001,c2005,c2011,這些錯誤的原因是什么。

Answer:

在學(xué)習(xí)VC++的過程中,遇到的LNK2001錯誤的錯誤消息主要為:

unresolved external symbol “symbol”(不確定的外部“符號”)。

如果連接程序不能在所有的庫和目標(biāo)文件內(nèi)找到所引用的函數(shù)、變量或標(biāo)簽,將產(chǎn)生此錯誤消息。

一般來說,發(fā)生錯誤的原因有兩個:一是所引用的函數(shù)、變量不存在、拼寫不正確或者使用錯誤;其次可能使用了不同版本的連接庫。

編程中經(jīng)常能遇到LNK2005錯誤重復(fù)定義錯誤,其實LNK2005錯誤并不是一個很難解決的錯誤.

3.繼承和委派有什么分別,在決定使用繼承或者委派的時候需要考慮什么。

在OOD,OOp中,組合優(yōu)于繼承.

當(dāng)然多態(tài)的基礎(chǔ)是繼承,沒有繼承多態(tài)無從談起。

當(dāng)對象的類型不影響類中函數(shù)的行為時,就要使用模板來生成這樣一組類。

當(dāng)對象的類型影響類中函數(shù)的行為時,就要使用繼承來得到這樣一組類.

4.指針和引用有什么分別;如果傳引用比傳指針安全,為什么?如果我使用常量指針難道不行嗎?

(1) 引用在創(chuàng)建的同時必須初始化,即引用到一個有效的對象;而指針在定義的時候不必初始化,可以在定義后面的任何地方重新賦值.

(2) 不存在NULL引用,引用必須與合法的存儲單元關(guān)聯(lián);而指針則可以是NULL.

(3) 引用一旦被初始化為指向一個對象,它就不能被改變?yōu)榱硪粋對象的引用;而指針在任何時候都可以改變?yōu)橹赶蛄硪粋對象.給引用賦值并不是改變它和原始對象的綁定關(guān)系.

(4) 引用的創(chuàng)建和銷毀并不會調(diào)用類的拷貝構(gòu)造函數(shù)

(5) 語言層面,引用的用法和對象一樣;在二進(jìn)制層面,引用一般都是通過指針來實現(xiàn)的,只不過編譯器幫我們完成了轉(zhuǎn)換.

不存在空引用,并且引用一旦被初始化為指向一個對象,它就不能被改變?yōu)榱硪粋對象的引用,顯得很安全。

const 指針仍然存在空指針,并且有可能產(chǎn)生野指針.

總的來說:引用既具有指針的效率,又具有變量使用的方便性和直觀性.

5.參數(shù)傳遞有幾種方式;實現(xiàn)多態(tài)參數(shù)傳遞采用什么方式,如果沒有使用某種方式原因是什么;

傳值,傳指針或者引用

6.結(jié)合一個項目說明你怎樣應(yīng)用設(shè)計模式的理念。

設(shè)計模式更多考慮是擴(kuò)展和重用,而這兩方面很多情況下,往往會被忽略。

不過,我不建議濫用設(shè)計模式,以為它有可能使得簡單問題復(fù)雜化.

7.介紹一下你對設(shè)計模式的理解。(這個過程中有很多很細(xì)節(jié)的問題隨機(jī)問的)

設(shè)計模式概念是由建筑設(shè)計師Christopher Alexander提出:"每一個模式描述了一個在我們周圍不斷重復(fù)發(fā)生的問題,以及該問題的解決方案的核心.這樣,你就能一次又一次地使用該方案而不必做重復(fù)勞動."上述定義是對設(shè)計模式的廣義定義.將其應(yīng)用到面向?qū)ο筌浖念I(lǐng)域內(nèi),就形成了對設(shè)計模式的狹義定義.

可以簡單的認(rèn)為:設(shè)計模式就是解決某個特定的面向?qū)ο筌浖䥺栴}的特定方法, 并且已經(jīng)上升到理論程度。

框架與設(shè)計模式的區(qū)別:

1,設(shè)計模式和框架針對的問題域不同.設(shè)計模式針對面向?qū)ο蟮膯栴}域;框架針對特定業(yè)務(wù)的問題域

2,設(shè)計模式比框架更為抽象.設(shè)計模式在碰到具體問題后,才能產(chǎn)生代碼;框架已經(jīng)可以用代碼表示

3,設(shè)計模式是比框架更小的體系結(jié)構(gòu)元素.框架中可以包括多個設(shè)計模式

設(shè)計模式就像武術(shù)中基本的招式.將這些招式合理地縱組合起來,就形成套路(框架),框架是一種半成品.

8.C++和C定義結(jié)構(gòu)的分別是什么。

C language 的結(jié)構(gòu)僅僅是數(shù)據(jù)的結(jié)合

C plus plus的struct 和 class 其實具備幾乎一樣的功能,只是默認(rèn)的訪問屬性不一樣而已。

9.構(gòu)造函數(shù)可否是虛汗數(shù),為什么?析構(gòu)函數(shù)呢,可否是純虛的呢?

構(gòu)造函數(shù)不能為虛函數(shù),要構(gòu)造一個對象,必須清楚地知道要構(gòu)造什么,否則無法構(gòu)造一個對象。

析構(gòu)函數(shù)可以為純虛函數(shù)。

10.拷貝構(gòu)造函數(shù)相關(guān)問題,深拷貝,淺拷貝,臨時對象等。

深拷貝意味著拷貝了資源和指針,而淺拷貝只是拷貝了指針,沒有拷貝資源

這樣使得兩個指針指向同一份資源,造成對同一份析構(gòu)兩次,程序崩潰。

臨時對象的開銷比局部對象小些。

11.結(jié)合1個你認(rèn)為比較能體現(xiàn)OOp思想的項目,用UML來描述。(最好這個項目繼承,多態(tài),虛函數(shù)都有體現(xiàn))這個問題大概會占面試時間的一半,并且會問很多問題,一不小心可能會被問住)。

。。。

12.基類的有1個虛函數(shù),子類還需要申明為virtual嗎?為什么。

不申明沒有關(guān)系的。

不過,我總是喜歡顯式申明,使得代碼更加清晰。

13.C也可以通過精心封裝某些函數(shù)功能實現(xiàn)重用,那C++的類有什么優(yōu)點嗎,難道僅僅是為實現(xiàn)重用。

并不僅僅是這樣的。

OOD,OOp從根本上改變了程序設(shè)計模式和設(shè)計思想,具備重大和深遠(yuǎn)的意義。

類的三大最基本的特征:封裝,繼承,多態(tài).

14.C++特點是什么,如何實現(xiàn)多態(tài)?畫出基類和子類在內(nèi)存中的相互關(guān)系。

多態(tài)的基礎(chǔ)是繼承,需要虛函數(shù)的支持,簡單的多態(tài)是很簡單的。

子類繼承父類大部分的資源,不能繼承的有構(gòu)造函數(shù),析構(gòu)函數(shù),拷貝構(gòu)造函數(shù),operator=函數(shù),友元函數(shù)等等

15.為什么要引入抽象基類和純虛函數(shù)?

主要目的是為了實現(xiàn)一種接口的效果。

16.介紹一下模板和容器。如何實現(xiàn)?(也許會讓你當(dāng)場舉例實現(xiàn))

模板可以說比較古老了,但是當(dāng)前的泛型編程實質(zhì)上就是模板編程。

它體現(xiàn)了一種通用和泛化的思想。

STL有7種主要容器:vector,list,deque,map,multimap,set,multiset.

17.你如何理解MVC。簡單舉例來說明其應(yīng)用。

MVC模式是observer 模式的一個特例,典型的有MFC里面的文檔視圖架構(gòu)。

18.多重繼承如何消除向上繼承的二義性。

使用虛擬繼承即可.


【經(jīng)典C/C++面試題】相關(guān)文章:

c面試題08-04

華為c8812配置08-04

c語言實踐報告01-17

軟件測試面試題及答案12-30

星巴克面試題目07-18

華為c8812解鎖方法08-01

c語言程序設(shè)計心得05-19

c語言課程設(shè)計心得06-16

《z c s》說課設(shè)計10-14

小學(xué)z、c、s、教學(xué)設(shè)計11-25

主站蜘蛛池模板: 国产农村精品一级毛片视频 | 中文字幕一区二区三区四区 | 狠狠干2018 | se94se在线看片secom | 91在线亚洲综合在线 | 亚洲精品第四页中文字幕 | 久久精品人人爽人人爽 | 尤物视频一区二区 | 天天射综合网站 | freexxxx性| 欧美日韩亚洲v在线观看 | 狠狠躁狠狠躁 | 靠逼视频网站 | 中文字幕日本在线mv视频精品 | maya十八岁禁止 | 久久成人午夜 | www.91成人 | 日韩精品一区二区三区在线观看 | 欧美一区二区三区视频在线 | 精品一区二区三区免费视频 | 曰批免费视频播放免费完整 | 国产欧美日本亚洲精品一4区 | 日韩a在线| 一区二区视频在线 | 亚洲成人精品久久 | 高清国产欧美一v精品 | 看片免费黄 | 国产成人小视频在线观看 | 午夜在线网址 | 日本无翼乌全彩无遮挡动漫 | 国产精视频 | 免费视频中文字幕 | 五月天激情婷婷大综合 | 欧美成a高清在线观看www | 久久精品国产91久久麻豆自制 | 欧美成人剧情中文字幕 | 日日夜夜人人 | 青草草| 乱色伦图片区 | 色视频国产 | 伊人久久综在合线亚洲不卡 |