C++常见英文面试笔试题Word格式文档下载.docx
- 文档编号:13890037
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:17
- 大小:205.86KB
C++常见英文面试笔试题Word格式文档下载.docx
《C++常见英文面试笔试题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++常见英文面试笔试题Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
WhatisPolymorphism?
Polymorphismallowsaclienttotreatdifferent
tomembercopy(shallowcopy)
Whatarealltheimplicitmemberfunctionsoftheclass?
Orwhatareallthefunctionswhichcompilerimplementsforusifwedon'
tdefineone.?
defaultctor
copyctor
assignmentoperator
defaultdestructor
addressoperator
Whatisconversionconstructor?
constructorwithasingleargumentmakesthatconstructorasconversionctoranditcanbeusedfortypeconversion.
forexample:
classBoo
{
public:
Boo(inti);
};
BooBooObject=10;
//assigningint10Booobject
Whatisconversionoperator?
classcanhaveapublicmethodforspecificdatatypeconversions.
doublevalue;
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"
?
workslikemalloc.
Whatisdifferencebetweentemplateandmacro?
Thereisnowayforthecompilertoverifythatthemacroparametersareofcompatibletypes.Themacroisexpandedwithoutanyspecialtypechecking.
Ifmacroparameterhasapost-incrementedvariable(likec++),theincrementisperformedtwotimes.
Becausemacrosareexpandedbythepreprocessor,compilererrormessageswillrefertotheexpandedmacro,ratherthanthemacrodefinitionitself.Also,themacrowillshowupinexpandedformduringdebugging.
Macro:
#definemin(i,j)(i<
j?
i:
j)
template:
template<
classT>
Tmin(Ti,Tj)
{
returni<
j;
}
WhatareC++storageclasses?
auto
register
static
extern
auto:
thedefault.Variablesareautomaticallycreatedandinitializedwhentheyaredefinedandaredestroyedattheendoftheblockcontainingtheirdefinition.Theyarenotvisibleoutsidethatblock
register:
atypeofautovariable.asuggestiontothecompilertouseaCPUregisterforperformance
static:
avariablethatisknownonlyinthefunctionthatcontainsitsdefinitionbutisneverdestroyedandretains=keepitsvaluebetweencallstothatfunction.Itexistsfromthetimetheprogrambeginsexecution
extern:
astaticvariablewhosedefinitionandplacementisdeterminedwhenallobjectandlibrarymodulesarecombined(linked)toformtheexecutablecodefile.Itcanbevisibleoutsidethefilewhereitisdefined.
WhatarestoragequalifiersinC++?
Theyare..
const
volatile
mutable
Constkeywordindicatesthatmemoryonceinitialized,shouldnotbealteredbyaprogram.
volatilekeywordindicatesthatthevalueinthememorylocationcanbealteredeventhoughnothingintheprogram
codemodifiesthecontents.forexampleifyouhaveapointertohardwarelocationthatcontainsthetime,wherehardwarechangesthevalueofthispointervariableandnottheprogram.Theintentofthiskeywordtoimprovetheoptimizationabilityofthecompiler.
mutablekeywordindicatesthatparticularmemberofastructureorclasscanbealteredevenifaparticularstructurevariable,class,orclassmemberfunctionisconstant.
struct
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 常见 英文 试笔 试题