freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

cc++筆試題匯總軟件工程師學(xué)習(xí)用-全文預(yù)覽

  

【正文】 B t2 = Play(10)。}(1) results:int main(int argc, char* argv[]) constructed by parameter 5{ destructed B(5)形參析構(gòu)B t1 = Play(5)。}B(int i):data(i) //B(int) works as a converter ( int instance of B){coutconstructed by parameter data endl。headnext = MergeRecursive(head1,head2next)。Node *head = NULL 。return head 。pcurrent = p2 。 p2 != NULL){if ( p1data = p2data ){pcurrentnext = p1 。p1 = head1 。p1 = head1next。Node *head = NULL 。return head 。p2 = p3 。 Node *p3 = p2next 。typedef struct Node Node 。()。exit(1)。}()。exit(1)。}}if ( !tag )break 。 j++){if ( data[j] data[j+1]){ tag = true 。 // 設(shè)置是否需要繼續(xù)冒泡的標(biāo)志位for ( int i = 0 ?!ndif,要求排序后輸出到另一個(gè)文件中答案:#i ncludeiostream#i ncludefstreamusing namespace std。}int fn4(){printf( This )。}int fn2(){ printf( executed )。_onexit( fn4 )。void main( void ){String str(zhanglin)。此時(shí),基類(lèi)的函數(shù)被隱藏(注意別與覆蓋混淆)35. There are two int variables: a and b, don’t use “if”, “? :”, “switch”or other judgement statements, find out the biggest one of the two numbers.答案:( ( a + b ) + abs( a b ) ) / 236. 如何打印出當(dāng)前源文件的文件名以及源文件的當(dāng)前行號(hào)?答案:cout __FILE__ 。,特征是:(1)不同的范圍(分別位于派生類(lèi)與基類(lèi));(2)函數(shù)名字相同;(3)參數(shù)相同;(4)基類(lèi)函數(shù)必須有virtual 關(guān)鍵字。cout sizeof(a) endl。C++/C 語(yǔ)言沒(méi)有辦法知道指針?biāo)傅膬?nèi)存容量,除非在申請(qǐng)內(nèi)存時(shí)記住它。char *p = “world”。?數(shù)組要么在靜態(tài)存儲(chǔ)區(qū)被創(chuàng)建(如全局?jǐn)?shù)組),要么在棧上被創(chuàng)建。 a EXP)pointer : if ( a != NULL) or if(a == NULL)define 相比,有何優(yōu)點(diǎn)?答案:1) const 常量有數(shù)據(jù)類(lèi)型,而宏常量沒(méi)有數(shù)據(jù)類(lèi)型。30. 比較C++中的4種類(lèi)型轉(zhuǎn)換方式?請(qǐng)參考:,重點(diǎn)是static_cast, dynamic_cast和reinterpret_cast的區(qū)別和應(yīng)用。 中沒(méi)有聲明任何成員變量與成員函數(shù),這時(shí)sizeof(A)的值是多少,如果不是零,請(qǐng)解釋一下編譯器為什么沒(méi)有讓它為零。struct 和 class 在其他方面是功能相當(dāng)?shù)摹?) 從堆上分配,亦稱(chēng)動(dòng)態(tài)內(nèi)存分配。例如全局變量,static 變量。C是類(lèi)型安全的。delete 會(huì)調(diào)用對(duì)象的destructor,而free 不會(huì)調(diào)用對(duì)象的destructor.22. define DOUBLE(x) x+x ,i = 5*DOUBLE(5); i 是多少?答案:i 為30。 體系不同于COM 體系, 接口也就完全不同于ADO和OLE DB 接口, 和ADO是兩種數(shù)據(jù)訪問(wèn)方式。因此,這樣的函數(shù)地址是在運(yùn)行期綁定的(晚綁定)。那么編譯器做過(guò)修飾后的函數(shù)名稱(chēng)可能是這樣的:int_func、str_func。重寫(xiě):是指子類(lèi)重新定義復(fù)類(lèi)虛函數(shù)的方法。3. 多態(tài):是將父對(duì)象設(shè)置成為和一個(gè)或更多的他的子對(duì)象相等的技術(shù),賦值之后,父對(duì)象就可以根據(jù)當(dāng)前賦值給它的子對(duì)象的特性以不同的方式運(yùn)作?!15題目的解答請(qǐng)參考《C++中extern “C”含義深層探索》注解:16. 關(guān)聯(lián)、聚合(Aggregation)以及組合(Composition)的區(qū)別?涉及到UML中的一些概念:關(guān)聯(lián)是表示兩個(gè)類(lèi)的一般性聯(lián)系,比如“學(xué)生”和“老師”就是一種關(guān)聯(lián)關(guān)系;聚合表示hasa的關(guān)系,是一種相對(duì)松散的關(guān)系,聚合類(lèi)不需要對(duì)被聚合類(lèi)負(fù)責(zé),如下圖所示,用空的菱形表示聚合關(guān)系:從實(shí)現(xiàn)的角度講,聚合可以表示為:class A {...} class B { A* a。endif//C++實(shí)現(xiàn)文件 #i nclude int add( int x, int y ){ return x + y。return 0?! ∶靼琢薈++中extern C的設(shè)立動(dòng)機(jī),我們下面來(lái)具體分析extern C通常的使用技巧:extern C的慣用法(1)在C++中引用C語(yǔ)言中的函數(shù)和變量,在包含C語(yǔ)言頭文件()時(shí),需進(jìn)行下列處理:extern C{#i nclude }而在C語(yǔ)言的頭文件中,對(duì)其外部函數(shù)只能指定為extern類(lèi)型,C語(yǔ)言中不支持extern C聲明, C時(shí)會(huì)出現(xiàn)編譯語(yǔ)法錯(cuò)誤。endif  在模塊B的實(shí)現(xiàn)文件中仍然調(diào)用foo( 2,3 ),其結(jié)果是:(1)模塊A編譯生成foo的目標(biāo)代碼時(shí),沒(méi)有對(duì)其名字進(jìn)行特殊處理,采用了C語(yǔ)言的方式;(2)連接器在為模塊B的目標(biāo)代碼尋找foo(2,3)調(diào)用時(shí),尋找的是未經(jīng)修改的符號(hào)名_foo。而本質(zhì)上,編譯器在進(jìn)行編譯時(shí),與函數(shù)的處理相似,也為類(lèi)中的變量取了一個(gè)獨(dú)一無(wú)二的名字,這個(gè)名字與用戶程序中同名 的全局變量名字不同。_foo_int_int 這樣的名字包含了函數(shù)名、函數(shù)參數(shù)數(shù)量及類(lèi)型信息,C++就是靠這種機(jī)制來(lái)實(shí)現(xiàn)函數(shù)重載的。這樣,模塊B中調(diào)用模塊A中的函數(shù)時(shí),在編譯階段,模塊B雖然找不到該函數(shù),但是并不會(huì)報(bào)錯(cuò);它會(huì)在連接階段中從模塊A編譯生成的目標(biāo)代碼中找到此函數(shù)extern C是連接申明(linkage declaration),被extern C修飾的變量和函數(shù)是按照C語(yǔ)言方式 編譯和連接的,來(lái)看看C++中對(duì)類(lèi)似C的函數(shù)是怎樣編譯的:作為一種面向?qū)ο蟮恼Z(yǔ)言,C++支持函數(shù)重載,而過(guò)程式語(yǔ)言C則不支持。14. #i nclude 與 #i nclude 的區(qū)別?答:前者是從Standard 。strcpy(m_data,)。rhs){ if ( this == amp。another){m_data = new char[strlen() + 1]。 。嘗試寫(xiě)出類(lèi)的成員函數(shù)實(shí)現(xiàn)。 operater =(const String amp。 // 通用構(gòu)造函數(shù)String(const String amp。char *tempptr = strDest 。,是高位)6261 ()11. 已知strcpy的函數(shù)原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。} 答案: AB (0x41對(duì)應(yīng)39。 /*聯(lián)合中結(jié)構(gòu)成員賦值*/=39。=0x4241。struct{ /*在聯(lián)合中定義一個(gè)結(jié)構(gòu)*/ char first。void main(){[0] = 10。 2. 對(duì)于聯(lián)合的不同成員賦值, 將會(huì)對(duì)其它成員重寫(xiě), 原來(lái)成員的值就不存在了, 而對(duì)于結(jié)構(gòu)的不同成員賦值是互不影響的。程序中使用指針,程序的可讀性差;而引用本身就是目標(biāo)變量的別名,對(duì)引用的操作就是對(duì)目標(biāo)變量的操作。 B b。!!!!!!!!!!!!!!!!!!!!6. “引用”與多態(tài)的關(guān)系?引用是除指針外另一個(gè)可以產(chǎn)生多態(tài)效果的手段。主要原因是這四個(gè)操作符沒(méi)有side effect,因此,它們必須構(gòu)造一個(gè)對(duì)象作為返回值,可選的方案包括:返回一個(gè)對(duì)象、返回一個(gè)局部 變量的引用,返回一個(gè)new分配的對(duì)象的引用、返回一個(gè)靜態(tài)對(duì)象引用。else { coutsubscript error。}int amp。put(9)=20。int vals[10]。賦值操作符的返回值必須是一個(gè)左值,以便可以被繼續(xù)賦值。這個(gè)唯一選擇很關(guān)鍵,它說(shuō)明了引用的重要性以及無(wú)可替代性,也許這就是C++ 語(yǔ)言中引入引用這個(gè)概念的原因吧??蛇x的其它方案包括:返回一個(gè)流對(duì)象和返回一個(gè)流對(duì)象指針。主要原因是當(dāng)對(duì)象的屬性是與某種業(yè)務(wù)規(guī)則(business rule)相關(guān)聯(lián)的時(shí)候,其賦值常常與某些其它屬性或者對(duì)象的狀態(tài)有關(guān),因此有必要將賦值操作封裝在一個(gè)業(yè)務(wù)規(guī)則當(dāng)中。雖然不存在局部變量的被動(dòng)銷(xiāo)毀問(wèn)題,可對(duì)于這種情況(返回函數(shù)內(nèi)部new分配內(nèi)存的引用),又面臨其它尷尬局面。這條可以參照Effective C++[1]的Item 31。引用型參數(shù)應(yīng)該在能被定義為const的情況下,盡量定義為const 。那么下面的表達(dá)式將是非法的:bar(foo( ))。 //錯(cuò)誤a=1。引用名=目標(biāo)變量名;例1int a 。(3)使用指針作為函數(shù)的參數(shù)雖然也能達(dá)到與使用引用的效果,但是,在被調(diào)函數(shù)中同樣要給形參分配存儲(chǔ)單元,且需要重復(fù)使用*指針變量名的形式進(jìn)行運(yùn)算,這很容易產(chǎn)生錯(cuò)誤且程序的閱讀性較差;另一方面,在主調(diào)函數(shù)的調(diào)用點(diǎn)處,必須用變量的地址作為實(shí)參。!!!!!!!!!!!!!!!!!!!!3. 將“引用”作為函數(shù)參數(shù)有哪些特點(diǎn)?(1)傳遞引用給函數(shù)與傳遞指針的效果是一樣的。申明一個(gè)引用的時(shí)候,切記要對(duì)其進(jìn)行初始化。}return countx。 心愿下載()免費(fèi)資源下載好去處*(微軟)int func(x){int countx = 0。(x1)。2. 什么是“引用”?申明和使用“引用”要注意哪些問(wèn)題?答:引用就是某個(gè)目標(biāo)變量的“別名”(alias),對(duì)引用的操作與對(duì)變量直接操作效果完全相同。不能建立數(shù)組的引用。因此,當(dāng)參數(shù)傳遞的數(shù)據(jù)較大時(shí),用引用比用一般變量傳遞參數(shù)的效率和所占空間都好。常引用聲明方式:const 類(lèi)型標(biāo)識(shí)符 amp。ra=1。 s)。因此上面的表達(dá)式就是試圖將一個(gè)const類(lèi)型的對(duì)象轉(zhuǎn)換為非const類(lèi)型,這是非法的。因?yàn)殡S著該局部變量生存期的結(jié)束,相應(yīng)的引用也會(huì)失效,產(chǎn)生runtime error!注意事項(xiàng):(1)不能返回局部變量的引用。這條可以參照Effective C++[1]的Item 31。這條原則可以參照Effective C++[1]的Item 30?!∫虼诉@兩個(gè)操作符的返回值應(yīng)該是一個(gè)仍然支持這兩個(gè)操作符的流引用。因此,返回一個(gè)流對(duì)象引用是惟一選擇?;蛘?x=10)=100。put(int n)。 //以put(0)函數(shù)值作為左值,等價(jià)于vals[0]=10。coutvals[9]。 n=9 ) return vals[n]。它們不能返回引用,Effective C++[1]的Item23詳細(xì)的討論了這個(gè)問(wèn)題。所以可選的只剩下返回一個(gè)對(duì)象了。 Class B : Class A{...}。7. “引用”與指針的區(qū)別是什么?指針通過(guò)某個(gè)指針變量指向一個(gè)對(duì)象后,對(duì)它所指向的變量間接操作。以上 28 參考:9. 結(jié)構(gòu)與聯(lián)合有和區(qū)別?1. 結(jié)構(gòu)和聯(lián)合都是由多個(gè)不同的數(shù)據(jù)類(lèi)型成員組成, 但在任何同一時(shí)刻, 聯(lián)合中只存放了一個(gè)被選中的成員(所有成員共用一塊地址空間), 而結(jié)構(gòu)的所有成員都存在(不同成員的存放地址不同)。}a。}答案:266 (低位低地址,高位高地址,內(nèi)存占用情況是Ox010A)b)main(){union{ /*定義一個(gè)聯(lián)合*/int i。}number。a39。getch()。B39。if ( strDest == strSrc)return strDest 。}!!!!!!!!!!!!!!!!!!!!12. 已知String類(lèi)定義如下: class String{public:String(const char *str = NULL)。 // 析構(gòu)函數(shù)String amp。 // 用于保存字符串}。\039。}} String::String(const String amp。 String::operator =(const String amp。 //刪除原來(lái)的數(shù)據(jù),新開(kāi)一塊內(nèi)存m_data = new char[strlen() + 1]。} 13. .h頭文件中的ifndef/define/endif 的作用?答:防止該頭文件被重復(fù)引用。例如,如果模塊B欲引用該模塊A中定義的全局變量和函數(shù)時(shí)只需包含模塊A的頭文件即可?! ≡摵瘮?shù)被C編譯器編譯后在符號(hào)庫(kù)中的名字為_(kāi)foo,而C++編譯器則會(huì)產(chǎn)生像_foo_int_int之類(lèi)的名字(不同的編譯器可能生成的名字不同,但是都采用了相同的機(jī)制,生成的新名字稱(chēng)為“mangled name”)。用戶所編寫(xiě)程序的類(lèi)成員變量可能與全局變量同名,我們以.來(lái)區(qū)分?! ?shí)際上,在連接階段,!加extern C聲明后的編譯和連接方式 加ex
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1