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

正文內(nèi)容

程序員面試精選(編輯修改稿)

2025-08-26 02:49 本頁面
 

【文章內(nèi)容簡介】 eateList(0)。//生成表頭,表頭數(shù)據(jù)為023for(inti=1。i10。i++)4{5head=AppendNode(head,i)。//添加9個節(jié)點,數(shù)據(jù)為從1到96}8考點:函數(shù)模板與類模板的基本概念和區(qū)別出現(xiàn)頻率:★★★解析:(1)什么是函數(shù)模板和類模板。函數(shù)模板是一種抽象函數(shù)定義,它代表一類同構(gòu)函數(shù)。通過用戶提供的具體參數(shù),C++編譯器在編譯時刻能夠?qū)⒑瘮?shù)模板實例化,根據(jù)同一個模板創(chuàng)建出不同的具體函數(shù),這些函數(shù)之間的不同之處主要在于函數(shù)內(nèi)部一些數(shù)據(jù)類型的不同,而由模板創(chuàng)建的函數(shù)的使用方法與一般函數(shù)的使用方法相同。函數(shù)模板的定義格式如下:1templateFunction_Definition其中,F(xiàn)unction_Definition為函數(shù)定義;TYPE_LIST被稱為類型參數(shù)表,是由—系列代表類型的標識符組成的,其間用逗號分隔,這些標識符的通常風格是由大寫字母組成,ARG_LIST稱為變量表,其中含有由逗號分隔開的多個變量說明,相當于一般函數(shù)定義中的形式參數(shù)。前面例題中的max就是函數(shù)模板的一個例子,因此這里不再另外舉例。C++提供的類模板是一種更高層次的抽象的類定義,用于使用相同代碼創(chuàng)建不同類模板的定義與函數(shù)模板的定義類似,只是把函數(shù)摸板中的函數(shù)定義部分換作類說明,并對類的成員函數(shù)進行定義即可。在類說明中可以使用出現(xiàn)在TYPE_LIST中的各個類型標識以及出現(xiàn)在ARG_LIST中的各變量。1template棋板參數(shù)表2class類模板名3{類模板定義體},例如我們需要定義一個表示平面的點(Point)類,這個類有兩個成員變量分別表示橫坐標和縱坐標,并且這兩個坐標的類型可以是int、float、double等等類型。因此可能寫出類似Point_int_int、Point_float_int、Point_float_float等這樣的類。通過類模板,我們只需要寫一個類。1include2usingnamespacestd。34template5classPoint_T6{7public:8T1a。//成員a為T1類型9T2b。//成員b為T2類型10Point_T():a(0),b(0){}//默認構(gòu)造函數(shù)11Point_T(T1ta,T2tb):a(ta),b(tb){}//帶參數(shù)的構(gòu)造函數(shù)12Point_Tamp。operator=(Point_Tamp。pt)。//賦值函數(shù)13friendPoint_Toperator+(Point_Tamp。pt1,Point_Tamp。pt2)。//重載+14}。1516template17Point_Tamp。Point_T::operator=(Point_Tamp。pt)//賦值函數(shù)18{19thisa=20thisb=21return*this。22}2324template25Point_Toperator+(Point_Tamp。pt1,Point_Tamp。pt2)//重載+26{27Point_Ttemp。28=+//結(jié)果對象中的a和b分別為兩個參數(shù)對象的各自a和b之和29=+30returntemp。31}3233template34ostreamamp。operator(ostreamamp。out,Point_Tamp。pt)//重載輸出流操作符35{36out(,//輸出(a,b)37out)。38returnout。39}4041intmain()42{43Point_TintPt1(1,2)。//T1和T2都是int44Point_TintPt2(3,4)。//T1和T2都是int45Point_TfloatPt1(,)。//T1和T2都是float46Point_TfloatPt2(,)。//T1和T2都是float4748Point_TintTotalPt。49Point_TfloatTotalPt。5051intTotalPt=intPt1+intPt2。//類型為Point_T的對象相加52floatTotalPt=floatPt1+floatPt2。//類型為Point_T的對象相加5354coutintTotalPtendl。//輸出Point_T的對象55coutfloatTotalPtendl。//輸出Point_T的對象5657return0。58}Point_T類就是一個類模板,它的成員a和b分別為T1和T2類型,這里我們還實現(xiàn)了它的構(gòu)造函數(shù)、賦值函數(shù)、“+”運算符的重載以及輸出流操作符“”的重載。使用Point_T類非常方便,我們可以進行各種類型的組合。代碼444行,定義了兩個Point_T類的對象intPt1和intPt2,表明這兩個對象的成員a和b都是int類型。代碼446行,定義了兩個Point_T類的對象floatPt1和floatPt2,表明這兩個對象的成員a和b都是float類型。代碼51行,對intPt1和intPt2進行對象加法,結(jié)果保存到intTotalPt中,此過程先調(diào)用“+”函數(shù),再調(diào)用了“=”函數(shù)。代碼52行,與51行類似,只是相加的對象和結(jié)果對象都是Point_T類的對象。代碼555行,輸出對象intTotalPt和floatTotalPt的內(nèi)容??梢钥闯觯ㄟ^使用類模板Point_T我們可以創(chuàng)建不同的類,大大提高了代碼的可維護性以及可重用性。有一些概念需要區(qū)別:函數(shù)模板與模板函數(shù),類模板和模板類是不同的意思。函數(shù)模板的重點是模板,它表示的是一個模板,用來生產(chǎn)函數(shù)。例如前面例題的max是一個函數(shù)模板。而模板函數(shù)的重點是函數(shù),它表示的是由一個模板生成而來的函數(shù)。例如max,max等都是模板函數(shù)。類模板和模板類的區(qū)別與上面的類似,類模板用于生產(chǎn)類,例如Point_T就是一個類模板。而模板類是由一個模板生成而來的類,例如Point_T和Point_T都是模板類。(2)函數(shù)模板和類模板有什么區(qū)別。在面試例題1的程序代碼中,我們在使用函數(shù)模板max時不一定要必須指明T的類型,函數(shù)模板max的實例化是由編譯程序在處理函數(shù)調(diào)用時自動完成的,當調(diào)用max(1,2)時自動生成實例max,而調(diào)用max(,)時自動生成實例max。當然也可以顯示指定T的類型。對于本例題的類模板Point_T來說,其實例化必須被
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1