C++常見英文面試筆試題_第1頁
C++常見英文面試筆試題_第2頁
C++常見英文面試筆試題_第3頁
C++常見英文面試筆試題_第4頁
C++常見英文面試筆試題_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C++常見英文面試筆試題資料僅供參考C/C++ProgramminginterviewquestionsandanswersBySatishShetty,July14th,Whatisencapsulation??

Containingandhidinginformationaboutanobject,suchasinternaldatastructuresandcode.Encapsulationisolates(使隔離)theinternalcomplexityofanobject'soperationfromtherestoftheapplication.Forexample,aclientcomponentaskingfornetrevenue(收益)fromabusinessobjectneednotknowthedata'sorigin.

Whatisinheritance?Inheritanceallowsoneclasstoreusethestateandbehaviorofanotherclass.Thederivedclassinheritsthepropertiesandmethodimplementationsofthebaseclassandextendsitbyoverridingmethodsandaddingadditionalpropertiesandmethods.

WhatisPolymorphism??Polymorphismallowsaclienttotreatdifferentobjectsinthesamewayeveniftheywerecreatedfromdifferentclassesandexhibit(展現(xiàn))differentbehaviors.Youcanuseimplementation(實現(xiàn))inheritancetoachievepolymorphisminlanguagessuchasC++andJava.Baseclassobject'spointercaninvoke(調用)methodsinderivedclassobjects.YoucanalsoachievepolymorphisminC++byfunctionoverloadingandoperatoroverloading.

Whatisconstructororctor?Constructorcreatesanobjectandinitializesit.Italsocreatesvtable變量列表?forvirtualfunctions.Itisdifferentfromothermethodsinaclass.

Whatisdestructor?Destructorusuallydeletesanyextraresourcesallocatedbytheobject.

Whatisdefaultconstructor?Constructorwithnoargumentsoralltheargumentshasdefaultvalues.

Whatiscopyconstructor?Constructorwhichinitializestheit'sobjectmembervariables(byshallowcopying)withanotherobjectofthesameclass.Ifyoudon'timplementoneinyourclassthencompilerimplementsoneforyou.forexample:

BooObj1(10);//callingBooconstructorBooObj2(Obj1);//callingboocopyconstructor

BooObj2=Obj1;//callingboocopyconstructorWhenarecopyconstructorscalled?Copyconstructorsarecalledinfollowingcases:

a)whenafunctionreturnsanobjectofthatclassbyvalue

b)whentheobjectofthatclassispassedbyvalueasanargumenttoafunction

c)whenyouconstructanobjectbasedonanotherobjectofthesameclass

d)Whencompilergeneratesatemporaryobject

Whatisassignmentoperator?Defaultassignmentoperatorhandlesassigningoneobjecttoanotherofthesameclass.Membertomembercopy(shallowcopy)

Whatarealltheimplicitmemberfunctionsoftheclass?Orwhatareallthefunctionswhichcompilerimplementsforusifwedon'tdefineone.??defaultctor

copyctor

assignmentoperator

defaultdestructor

addressoperator

Whatisconversionconstructor?constructorwithasingleargumentmakesthatconstructorasconversionctoranditcanbeusedfortypeconversion.forexample:classBoo

{

public:

Boo(inti);

};

BooBooObject=10;//assigningint10Booobject

Whatisconversionoperator??

classcanhaveapublicmethodforspecificdatatypeconversions.forexample:

classBoo

{

doublevalue;

public:

Boo(inti)

operatordouble()

{

returnvalue;

}

};

BooBooObject;

doublei=BooObject;//assigningobjecttovariableioftypedouble.nowconversionoperatorgetscalledtoassignthevalue.

Whatisdiffbetweenmalloc()/free()andnew/delete?mallocallocatesmemoryforobjectinheapbutdoesn'tinvokeobject'sconstructortoinitiallizetheobject.newallocatesmemoryandalsoinvokesconstructortoinitializetheobject.malloc()andfree()donotsupportobjectsemantics

Doesnotconstructanddestructobjects

string*ptr=(string*)(malloc(sizeof(string)))

Arenotsafe

Doesnotcalculatethesizeoftheobjectsthatitconstruct

Returnsapointertovoid

int*p=(int*)(malloc(sizeof(int)));

int*p=newint;

Arenotextensible

newanddeletecanbeoverloadedinaclass"delete"firstcallstheobject'sterminationroutine(i.e.itsdestructor)andthenreleasesthespacetheobjectoccupiedontheheapmemory.Ifanarrayofobjectswascreatedusingnew,thendeletemustbetoldthatitisdealingwithanarraybyprecedingthenamewithanempty[]:-Int_t*my_ints=newInt_t[10];...delete[]my_ints;

whatisthediffbetween"new"and"operatornew"?

"operatornew"workslikemalloc.

Whatisdifferencebetweentemplateandmacro??Thereisnowayforthecompilertoverifythatthemacroparametersareofcompatibletypes.Themacroisexpandedwithoutanyspecialtypechecking.Ifmacroparameterhasapost-incrementedvariable(likec++),theincrementisperformedtwotimes.Becausemacrosareexpandedbythepreprocessor,compilererrormessageswillrefertotheexpandedmacro,ratherthanthemacrodefinitionitself.Also,themacrowillshowupinexpandedformduringdebugging.forexample:Macro:#definemin(i,j)(i<j?i:j)template:

template<classT>

Tmin(Ti,Tj)

{

returni<j?i:j;

}

WhatareC++storageclasses?auto

register

static

externauto:thedefault.Variablesareautomaticallycreatedandinitializedwhentheyaredefinedandaredestroyedattheendoftheblockcontainingtheirdefinition.Theyarenotvisibleoutsidethatblockregister:atypeofautovariable.asuggestiontothecompilertouseaCPUregisterforperformancestatic:avariablethatisknownonlyinthefunctionthatcontainsitsdefinitionbutisneverdestroyedandretains=keepitsvaluebetweencallstothatfunction.Itexistsfromthetimetheprogrambeginsexecutionextern:astaticvariablewhosedefinitionandplacementisdeterminedwhenallobjectandlibrarymodulesarecombined(linked)toformtheexecutablecodefile.Itcanbevisibleoutsidethefilewhereitisdefined.

WhatarestoragequalifiersinC++?Theyare..const

volatile

mutableConstkeywordindicatesthatmemoryonceinitialized,shouldnotbealteredbyaprogram.volatilekeywordindicatesthatthevalueinthememorylocationcanbealteredeventhoughnothingintheprogram

codemodifiesthecontents.forexampleifyouhaveapointertohardwarelocationthatcontainsthetime,wherehardwarechangesthevalueofthispointervariableandnottheprogram.Theintentofthiskeywordtoimprovetheoptimizationabilityofthecompiler.mutablekeywordindicatesthatparticularmemberofastructureorclasscanbealteredevenifaparticularstructurevariable,class,orclassmemberfunctionisconstant.structdata

{

charname[80];

mutabledoublesalary;

}constdataMyStruct={"SatishShetty",1000};//initlizedbycomplierstrcpy(MyS,"ShilpaShetty");//compilererror

MyStruct.salaray=;//complierishappyallowed

Whatisreference??referenceisanamethatactsasanalias,oralternativename,forapreviouslydefinedvariableoranobject.prependingvariablewith"&"symbolmakesitasreference.forexample:inta;

int&b=a;&讀amp

Whatispassingbyreference?Methodofpassingargumentstoafunctionwhichtakesparameteroftypereference.forexample:voidswap(int&x,int&y)

{

inttemp=x;

x=y;

y=temp;

}inta=2,b=3;swap(a,b);

Basically,insidethefunctiontherewon'tbeanycopyofthearguments"x"and"y"insteadtheyrefertooriginalvariablesaandb.sonoextramemoryneededtopassargumentsanditismoreefficient.

Whendouse"const"referenceargumentsinfunction?a)Usingconstprotectsyouagainstprogrammingerrorsthatinadvertently不經(jīng)意的alterdata.

b)Usingconstallowsfunctiontoprocessbothconstandnon-constactualarguments,whileafunctionwithoutconstintheprototypecanonlyacceptnonconstantarguments.

c)Usingaconstreferenceallowsthefunctiontogenerateanduseatemporaryvariableappropriately.

WhenaretemporaryvariablescreatedbyC++compiler?Providedthatfunctionparameterisa"constreference",compilergeneratestemporaryvariableinfollowing2ways.a)Theactualargumentisthecorrecttype,butitisn'tLvaluedoubleCube(constdouble&num)

{

num=num*num*num;

returnnum;}doubletemp=2.0;

doublevalue=cube(3.0+temp);//argumentisaexpressionandnotaLvalue;

b)Theactualargumentisofthewrongtype,butofatypethatcanbeconvertedtothecorrecttypelongtemp=3L;

doublevalue=cuberoot(temp);//longtodoubleconversion

Whatisvirtualfunction?

Whenderivedclassoverridesthebaseclassmethodbyredefiningthesamefunction,thenifclientwantstoaccessredefinedthemethodfromderivedclassthroughapointerfrombaseclassobject,thenyoumustdefinethisfunctioninbaseclassasvirtualfunction.classparent

{

voidShow()

{

cout<<"i'mparent"<<endl;

}

};

classchild:publicparent

{

voidShow()

{

cout<<"i'mchild"<<endl;

}};

parent*parent_object_ptr=newchild;parent_object_ptr->show()//callsparent->show()i

nowwegotovirtualworld...classparent

{

virtualvoidShow()

{

cout<<"i'mparent"<<endl;

}

};

classchild:publicparent

{

voidShow()

{

cout<<"i'mchild"<<endl;

}};

parent*parent_object_ptr=newchild;parent_object_ptr->show()//callschild->show()

Whatispurevirtualfunction?orwhatisabstractclass?

Whenyoudefineonlyfunctionprototypeinabaseclasswithoutimplementationanddothecompleteimplementation實現(xiàn)inderivedclass.Thisbaseclassiscalledabstractclassandclientwon'tabletoinstantiateanobjectusingthisbaseclass.Youcanmakeapurevirtualfunctionorabstractclassthisway..classBoo

{

voidfoo()=0;

}

BooMyBoo;//compilationerror

WhatisMemoryalignment??Thetermalignmentprimarilymeansthetendency趨向ofanaddresspointervaluetobeamultipleofsomepoweroftwo.Soapointerwithtwobytealignmenthasazerointheleastsignificantbit.Andapointerwithfourbytealignmenthasazeroinboththetwoleastsignificantbits.Andsoon.Morealignmentmeansalongersequenceofzerobitsinthelowestbitsofapointer.

Whatproblemdoesthenamespacefeaturesolve?Multipleprovidersoflibrariesmightusecommonglobalidentifierscausinganamecollisionwhenanapplicationtriestolinkwithtwoormoresuchlibraries.Thenamespacefeaturesurroundsalibrary'sexternaldeclarationswithauniquenamespacethateliminates消除space[identifier]{namespace-body}Anamespacedeclarationidentifiesandassignsanametoadeclarativeregion.

Theidentifierinanamespacedeclarationmustbeuniqueinthedeclarativeregioninwhichitisused.Theidentifieristhenameofthenamespaceandisusedtoreferenceitsmembers.

Whatistheuseof'using'declaration?Ausingdeclarationmakesitpossibletouseanamefromanamespacewithoutthescope范圍operator.

WhatisanIterator迭代器class?Aclassthatisusedtotraversethrough穿過theobjectsmaintainedbyacontainerclass.Therearefivecategoriesofiterators:inputiterators,outputiterators,forwarditerators,bidirectionaliterators,randomaccess.Aniteratorisanentitythatgivesaccesstothecontentsofacontainerobjectwithoutviolatingencapsulationconstraints.Accesstothecontentsisgrantedonaone-at-a-timebasisinorder.Theordercanbestorageorder(asinlistsandqueues)orsomearbitraryorder(asinarrayindices)oraccordingtosomeorderingrelation(asinanorderedbinarytree).Theiteratorisaconstruct,whichprovidesaninterfacethat,whencalled,yieldseitherthenextelementinthecontainer,orsomevaluedenotingthefactthattherearenomoreelementstoexamine.Iteratorshidethedetailsofaccesstoandupdateoftheelementsofacontainerclass.Somethinglikeapointer.

Whatisadangling懸掛pointer?Adanglingpointerariseswhenyouusetheaddressofanobjectafteritslifetimeisover.Thismayoccurinsituationslikereturningaddressesoftheautomaticvariablesfromafunctionorusingtheaddressofthememoryblockafteritisfreed.

WhatdoyoumeanbyStackunwinding?Itisaprocessduringexceptionhandlingwhenthedestructoriscalledforalllocalobjectsinthestackbetweentheplacewheretheexceptionwasthrownandwhereitiscaught.

拋出異常與棧展開(stackunwinding)拋出異常時,將暫停當前函數(shù)的執(zhí)行,開始查找匹配的catch子句。首先檢查throw本身是否在try塊內部,如果是,檢查與該try相關的catch子句,看是否能夠處理該異常。如果不能處理,就退出當前函數(shù),而且釋放當前函數(shù)的內存并銷毀局部對象,繼續(xù)到上層的調用函數(shù)中查找,直到找到一個能夠處理該異常的catch。這個過程稱為棧展開(stackunwinding)。當處理該異常的catch結束之后,緊接著該catch之后的點繼續(xù)執(zhí)行。1.為局部對象調用析構函數(shù)如上所述,在棧展開的過程中,會釋放局部對象所占用的內存并運行類類型局部對象的析構函數(shù)。但需要注意的是,如果一個塊經(jīng)過new動態(tài)分配內存,而且在釋放該資源之前發(fā)生異常,該塊因異常而退出,那么在棧展開期間不會釋放該資源,編譯器不會刪除該指針,這樣就會造成內存泄露。2.析構函數(shù)應該從不拋出異常在為某個異常進行棧展開的時候,析構函數(shù)如果又拋出自己的未經(jīng)處理的另一個異常,將會導致調用標準庫terminate函數(shù)。一般terminate函數(shù)將調用abort函數(shù),導致程序的非正常退出。因此析構函數(shù)應該從不拋出異常。3.異常與構造函數(shù)如果在構造函數(shù)對象時發(fā)生異常,此時該對象可能只是被部分構造,要保證能夠適當?shù)某蜂N這些已構造的成員。4.未捕獲的異常將會終止程序不能不處理異常。如果找不到匹配的catch,程序就會調用庫函數(shù)terminate。Nametheoperatorsthatcannotbeoverloaded??sizeof,.,.*,.->,::,?:

Whatisacontainerclass?Whatarethetypesofcontainerclasses?Acontainerclassisaclassthatisusedtoholdobjectsinmemoryorexternalstorage.Acontainerclassactsasagenericholder.Acontainerclasshasapredefinedbehaviorandawell-knowninterface.Acontainerclassisasupportingclasswhosepurposeistohidethetopologyusedformaintainingthelistofobjectsinmemory.Whenacontainerclasscontainsagroupofmixedobjects,thecontaineriscalledaheterogeneous不均勻的多樣的container;whenthecontainerisholdingagroupofobjectsthatareallthesame,thecontaineriscalledahomogeneous單一的均勻的container.

Whatisinlinefunction??The__inlinekeywordtellsthecompilertosubstitute替代thecodewithinthefunctiondefinitionforeveryinstanceofafunctioncall.However,substitutionoccursonlyatthecompiler'sdiscretion靈活性.Forexample,thecompilerdoesnotinlineafunctionifitsaddressistakenorifitistoolargetoinline.

使用預處理器實現(xiàn),沒有了參數(shù)壓棧,代碼生成等一系列的操作,因此,效率很高,這是它在C中被使用的一個主要原因

Whatisoverloading??WiththeC++language,youcanoverloadfunctionsandoperators.Overloadingisthepracticeofsupplyingmorethanonedefinitionforagivenfunctionnameinthesamescope.-Anytwofunctionsinasetofoverloadedfunctionsmusthavedifferentargumentlists.

-Overloadingfunctionswithargumentlistsofthesametypes,basedonreturntypealone,isanerror.

WhatisOverriding?Tooverrideamethod,asubclassoftheclassthatoriginallydeclaredthemethodmustdeclareamethodwiththesamename,returntype(orasubclassofthatreturntype),andsameparameterlist.

Thedefinitionofthemethodoverridingis:

·Musthavesamemethodname.

·Musthavesamedatatype.

·Musthavesameargumentlist.

Overridingamethodmeansthatreplacingamethodfunctionalityinchildclass.Toimplyoverridingfunctionalityweneedparentandchildclasses.Inthechildclassyoudefinethesamemethodsignatureasonedefinedintheparentclass.

Whatis"this"pointer?Thethispointerisapointeraccessibleonlywithinthememberfunctionsofaclass,struct,oruniontype.Itpointstotheobjectforwhichthememberfunctioniscalled.Staticmemberfunctionsdonothaveathispointer.Whenanon-staticmemberfunctioniscalledforanobject,theaddressoftheobjectispassedasahiddenargumenttothefunction.Forexample,thefollowingfunctioncallmyDate.setMonth(3);canbeinterpreted解釋thisway:setMonth(&myDate,3);Theobject'saddressisavailablefromwithinthememberfunctionasthethispointer.Itislegal,thoughunnecessary,tousethethispointerwhenreferringtomembersoftheclass.

Whathappenswhenyoumakecall"deletethis;"??Thecodehastwobuilt-inpitfalls陷阱/誤區(qū).First,ifitexecutesinamemberfunctionforanextern,static,orautomaticobject,theprogramwillprobablycrashassoonasthedeletestatementexecutes.Thereisnoportablewayforanobjecttotellthatitwasinstantiatedontheheap,sotheclasscannotassertthatitsobjectisproperlyinstantiated.Second,whenanobjectcommitssuicidethisway,theusingprogrammightnotknowaboutitsdemise死亡/轉讓.Asfarastheinstantiatingprogramisconcerned有關的,theobjectremainsinscopeandcontinuestoexisteventhoughtheobjectdiditselfin.Subsequent后來的dereferencing間接引用(dereferencingpointer

重引用指針,dereferencingoperator

取值運算符)ofthepointercanandusuallydoesleadtodisaster不幸.Youshouldneverdothis.Sincecompilerdoesnotknowwhethertheobjectwasallocatedonthestackorontheheap,"deletethis"couldcauseadisaster.

Howvirtualfunctionsareimplemented執(zhí)行C++?Virtualfunctionsareimplementedusingatableoffunctionpointers,calledthevtable.Thereisoneentryinthetablepervirtualfunctionintheclass.Thistableiscreatedbytheconstructoroftheclass.Whenaderivedclassisconstructed,itsbaseclassisconstructedfirstwhichcreatesthevtable.Ifthederivedclassoverridesanyofthebaseclassesvirtualfunctions,thoseentriesinthevtableareoverwrittenbythederivedclassconstructor.Thisiswhyyoushouldnevercallvirtualfunctionsfromaconstructor:becausethevtableentriesfortheobjectmaynothavebeensetupbythederivedclassconstructoryet,soyoumightendupcallingbaseclassimplementationsofthosevirtualfunctions

WhatisnamemanglinginC++??Theprocessofencodingtheparametertypeswiththefunction/methodnameintoauniquenameiscallednamemangling.Theinverseprocessiscalleddemangling.ForexampleFoo::bar(int,long)constismangledas`bar__C3Fooil'.

Foraconstructor,themethodnameisleftout.ThatisFoo::Foo(int,long)constismangledas`__C3Fooil'.

Whatisthedifferencebetweenapointerandareference?Areferencemustalwaysrefertosomeobjectand,therefore,mustalwaysbeinitialized;pointersdonothavesuchrestrictions.Apointercanbereassignedtopointtodifferentobjectswhileareferencealwaysreferstoanobjectwithwhichitwasinitialized.Howareprefixandpostfixversionsofoperator++()differentiated?Thepostfixversionofoperator++()hasadummyparameteroftypeint.Theprefixversiondoesnothavedummyparameter.Whatisthedifferencebetweenconstchar*myPointerandchar*constmyPointer?Constchar*myPointerisanonconstantpointertoconstantdata;whilechar*constmyPointerisaconstantpointertononconstantdata.HowcanIhandleaconstructorthatfails?throwanexception.Constructorsdon'thaveareturntype,soit'snotpossibletousereturncodes.Thebestwaytosignalconstructorfailureisthereforetothrowanexception.HowcanIhandleadestructorthatfails?Writeamessagetoalog-file.Butdonotthrowanexception.

TheC++ruleisthatyoumustneverthrowanexceptionfromadestructorthatisbeingcalledduringthe"stackunwinding"processofanotherexception.Forexample,ifsomeonesaysthrowFoo(),thestackwillbeunwoundsoallthestackframesbetweenthethrowFoo()andthe}catch(Fooe){willgetpopped.Thisiscalledstackunwinding.

Duringstackunwinding,allthelocalobjectsinallthosestackframesaredestructed.Ifoneofthosedestructorsthrowsanexception(sayitthrowsaBarobject),theC++runtimesystemisinano-winsituation:shoulditignoretheBarandendupinthe}catch(Fooe){whereitwasoriginallyheaded?ShoulditignoretheFooandlookfora}catch(Bare){handler?Thereisnogoodanswer--eitherchoicelosesinformation.

SotheC++languageguaranteesthatitwillcallterminate()atthispoint,andterminate()killstheprocess.Bangyou'redead.

WhatisVirtualDestructor?

Usingvirtualdestructors,youcandestroyobjectswithoutknowingtheirtype-thecorrectdestructorfortheobjectisinvokedusingthevirtualfunctionmechanism.Notethatdestructorscanalsobedeclaredaspurevirtualfunctionsforabstractclasses.ifsomeonewillderivefromyourclass,andifsomeonewillsay"newDerived",where"Derived"isderivedfromyourclass,andifsomeonewillsaydeletep,wheretheactualobject'stypeis"Derived"butthepointerp'stypeisyourclass.

Canyouthinkofasituationwhereyourprogramwouldcrashwithoutreachingthebreakpointwhichyousetatthebeginningofmain()?C++allowsfordynamicinitializationofglobalvariablesbeforemain()isinvoked.Itispossiblethatinitializationofglobalwillinvokesomefunction.Ifthisfunctioncrashesthecrashwilloccurbeforemain()isentered.

NametwocaseswhereyouMUSTuseinitializationlistasopposedtoassignmentinconstructors.Bothnon-staticconstdatamembersandreferencedatamemberscannotbeassignedvalues;instead,youshoulduseinitializationlisttoinitializethem.

Canyouoverloadafunctionbasedonlyonwhetheraparameterisavalueorareference?No.Passingbyvalueandbyreferencelooksidenticaltothecaller.

WhatarethedifferencesbetweenaC++structandC++class?Thedefaultmemberandbaseclassaccessspecifiers標識符aredifferent.TheC++structhasallthefeaturesoftheclass.Theonlydifferencesarethatastructdefaultstopublicmemberaccessandpublicbaseclassinheritance,andaclassdefaultstotheprivateaccessspecifierandprivatebaseclassinheritance.

Whatdoesextern"C"intfunc(int*,Foo)accomplish實現(xiàn)/達到/完成?Itwillturnoff"namemangling"forfuncsothatonecanlinktocodecompiledbyaCcompiler.

Howdoyouaccessthestaticmemberofaclass?<ClassName>::<StaticMemberName>

Whatismultipleinheritance(virtualinheritance)?Whatareitsadvantagesanddisadvantages?MultipleInheritanceistheprocesswhereby經(jīng)過achildcanbederivedfrommorethanoneparentclass.Theadvantageofmultipleinheritanceisthatitallowsaclasstoinheritthefunctionality功能ofmorethanonebaseclassthus因此allowingformodeling建模ofcomplexrelat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論