題很多,先上題后上答案,便于大家思考
問題點(diǎn):
1、C和C 的特點(diǎn)與區(qū)別?
2、C 的多態(tài)
3、虛函數(shù)實(shí)現(xiàn)
4、C和C 內(nèi)存分配問題
5、協(xié)程
6、CGI的了解
7、進(jìn)程間通信方式和線程間通信方式
8、TCP握手與釋放
9、http和https的區(qū)別?
10、虛擬內(nèi)存的概念與介紹
11、單鏈表的反轉(zhuǎn)算法
12、紅黑樹以及其查找復(fù)雜度
13、KPM字符串匹配
14、TCP超時(shí)等待、重傳以及流量控制
15、數(shù)據(jù)庫引擎
16、數(shù)據(jù)庫索引
1、C和C 的特點(diǎn)與區(qū)別?
答:(1)C語言特點(diǎn):
1.作為一種面向過程的結(jié)構(gòu)化語言,易于調(diào)試和維護(hù);
2.表現(xiàn)能力和處理能力極強(qiáng),可以直接訪問內(nèi)存的物理地址;
3.C語言實(shí)現(xiàn)了對硬件的編程操作,也適合于應(yīng)用軟件的開發(fā);
4.C語言還具有效率高,可移植性強(qiáng)等特點(diǎn)。
(2)C 語言特點(diǎn):
1.在C語言的基礎(chǔ)上進(jìn)行擴(kuò)充和完善,使C 兼容了C語言的面向過程特點(diǎn),又成為了一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言;
2.可以使用抽象數(shù)據(jù)類型進(jìn)行基于對象的編程;
3.可以使用多繼承、多態(tài)進(jìn)行面向?qū)ο蟮木幊蹋?
4.可以擔(dān)負(fù)起以模版為特征的泛型化編程。
C 與C語言的本質(zhì)差別:在于C 是面向?qū)ο蟮?,而C語言是面向過程的?;蛘哒fC 是在C語言的基礎(chǔ)上增加了面向?qū)ο蟪绦蛟O(shè)
計(jì)的新內(nèi)容,是對C語言的一次更重要的改革,使得C 成為軟件開發(fā)的重要工具。
2、C 的多態(tài)
答:C 的多態(tài)性用一句話概括:在基類的函數(shù)前加上virtual關(guān)鍵字,在派生類中重寫該函數(shù),運(yùn)行時(shí)將會根據(jù)對象的實(shí)際類型來
調(diào)用相應(yīng)的函數(shù)。如果對象類型是派生類,就調(diào)用派生類的函數(shù);如果對象類型是基類,就調(diào)用基類的函數(shù)。
1):用virtual關(guān)鍵字申明的函數(shù)叫做虛函數(shù),虛函數(shù)肯定是類的成員函數(shù);
2):存在虛函數(shù)的類都有一個一維的虛函數(shù)表叫做虛表,類的對象有一個指向虛表開始的虛指針。虛表是和類對應(yīng)的,虛表指針是
和對象對應(yīng)的;
3):多態(tài)性是一個接口多種實(shí)現(xiàn),是面向?qū)ο蟮暮诵模譃轭惖亩鄳B(tài)性和函數(shù)的多態(tài)性。;
4):多態(tài)用虛函數(shù)來實(shí)現(xiàn),結(jié)合動態(tài)綁定.;
5):純虛函數(shù)是虛函數(shù)再加上 = 0;
6):抽象類是指包括至少一個純虛函數(shù)的類;
純虛函數(shù):virtual void fun()=0;即抽象類,必須在子類實(shí)現(xiàn)這個函數(shù),即先有名稱,沒有內(nèi)容,在派生類實(shí)現(xiàn)內(nèi)容。
3、虛函數(shù)實(shí)現(xiàn)
答:簡單地說,每一個含有虛函數(shù)(無論是其本身的,還是繼承而來的)的類都至少有一個與之對應(yīng)的虛函數(shù)表,其中存放著該類
所有的虛函數(shù)對應(yīng)的函數(shù)指針。例: