- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
为天地立心,为生民立命,为往圣继绝学,为万世开太平。——张载
C++常见⾯试题30道
1.new、delete、malloc、free关系
delete会调⽤对象的析构函数,和new对应free只会释放内存,new调⽤构造函数。malloc与free是C++/C语⾔的标准库函数,new/delete是
C++的运算符。它们都可⽤于申请动态内存和释放内存。对于⾮内部数据类型的对象⽽⾔,光⽤maloc/free⽆法满⾜动态对象的要求。对象
在创建的同时要⾃动执⾏构造函数,对象在消亡之前要⾃动执⾏析构函数。由于malloc/free是库函数⽽不是运算符,不在编译器控制权限之
内,不能够把执⾏构造函数和析构函数的任务强加于malloc/free。因此C++语⾔需要⼀个能完成动态内存分配和初始化⼯作的运算符new,
以及⼀个能完成清理与释放内存⼯作的运算符delete。注意new/delete不是库函数。
2.delete与delete[]区别
delete只会调⽤⼀次析构函数,⽽delete[]会调⽤每⼀个成员的析构函数。在MoreEffectiveC++中有更为详细的解释:当“delete操作符⽤于
数组时,它为每个数组元素调⽤析构函数,然后调⽤operatordelete来释放内存。”delete与new配套,delete[]与new[]配套
MemTest*mTest1=newMemTest[10];
MemTest*mTest2=newMemTest;
Int*pInt1=newint[10];
Int*pInt2=newint;
delete[]pInt1;//-1-
delete[]pInt2;//-2-
delete[]mTest1;//-3-
delete[]mTest2;//-4-
在-4-处报错。
这就说明:对于内建简单数据类型,delete和delete[]功能是相同的。对于⾃定义的复杂数据类型,delete和delete[]不能互⽤。delete[]删除⼀
个数组,delete删除⼀个指针。简单来说,⽤new分配的内存⽤delete删除;⽤new[]分配的内存⽤delete[]删除。delete[]会调⽤数组元素的析
构函数。内部数据类型没有析构函数,所以问题不⼤。如果你在⽤delete时没⽤括号,delete就会认为指向的是单个对象,否则,它就会认
为指向的是⼀个数组。
3.C++有哪些性质(⾯向对象特点)
封装,继承和多态。
4.⼦类析构时要调⽤⽗类的析构函数吗?
析构函数调⽤的次序是先派⽣类的析构后基类的析构,也就是说在基类的的析构调⽤的时候,派⽣类的信息已经全部销毁了。定义⼀个对象时
先调⽤基类的构造函数、然后调⽤派⽣类的构造函数;析构的时候恰好相反:先调⽤派⽣类的析构函数、然后调⽤基类的析构函数。
5.多态,虚函数,纯虚函数
多态:是对于不同对象接收相同消息时产⽣不同的动作。C++的多态性具体体现在运⾏和编译两个⽅⾯:在程序运⾏时的多态性通过继承和
虚函数来体现;
在程序编译时多态性体现在函数和运算符的重载上;
虚函数:在基类中冠以关键字virtual的成员函数。它提供了⼀种接⼝界⾯。允许在派⽣类中对基类的虚函数重新定义。
纯虚函数的作⽤:在基类中为其派⽣类保留⼀个函数的名字,以便派⽣类根据需要对它进⾏定义。作为接⼝⽽存在纯虚函数不具备函数的功
能,⼀般不能直接被调⽤。
从基类继承来的纯虚函数,在派⽣类中仍是虚函数。如果⼀个类中⾄少有⼀个纯虚函数,那么这个类被称为抽象类(abstractclass)。
抽象类中不仅包括纯虚函数,也可包括虚函数。抽象类必须⽤作派⽣其他类的基类,⽽不能⽤于直接创建对象实例。但仍可使⽤指向抽象类
的指针⽀持运⾏时多态性。
以铜为镜,可以正衣冠;以古为镜,可以知兴替;以人为镜,可以明得失。——《旧唐书·魏征列传》
6.求下⾯函数的返回值(微软)
intfunc(x)
{
intcountx=0;
while(x)
{
countx++;
x=x(x-1);
}
returncountx;
}
假定x=9999。答案:8
思路:将x转化为2进制,看含有的1的个数。
7.什么是“引⽤”?申明和使⽤“引⽤”要注意哪些问题?
答:引⽤就是某个⽬标变量的别名“”(alias),对应⽤的操作与对变量直接操作效果完全相同。申明⼀个引⽤的时候,切记要对其进⾏初始
化。引⽤声明完毕后,相当于⽬标变量名有两个名称,即
您可能关注的文档
- 2025年CPA注册会计师《财务成本管理》考前冲刺卷及答案 .pdf
- 2025年AUTOCAD基本操作练习题 (1).pdf
- 2025年9月CCAA环境管理体系国家注册审核员笔试试卷 .pdf
- 2025年87中学华师大版七年级数学第一次月考试卷及答案 .pdf
- 2025年7月广东省普通高中学业水平合格性考试地理试卷(含答案).pdf
- 塑料保持架、五金轴承、模具生产技术改造项目报告表.pdf
- c期末试题及答案.doc
- 连续光纤激光器研制及产业化项目报告表.pdf
- c语言 函数试题及答案.doc
- 年产塑料包装袋100吨、塑料托盘2000吨建设项目报告表.pdf
- c程序员面试题及答案.doc
- 第01讲 运动的描述(练习)(解析版)-【上好课】2025年高考物理一轮复习讲练测(新教材新高考).pdf
- c的面试题及答案.doc
- 第01讲 运动的描述(练习)(原卷版)-【上好课】2025年高考物理一轮复习讲练测(新教材新高考).pdf
- 2003年非典后航空复盘分析报告.pdf
- 第02讲 匀变速直线运动的规律(练习)(解析版)-【上好课】2025年高考物理一轮复习讲练测(新教材新高考).pdf
- 第02讲 匀变速直线运动的规律(练习)(原卷版)-【上好课】2025年高考物理一轮复习讲练测(新教材新高考).pdf
- c考试题库及答案.doc
- c面试题及答案.doc
- 汽车管件及座椅骨架、异形金属结构件生产线改造项目(技术改造)报告表.pdf
最近下载
- 黑龙江地方三年级下册《人文与社会》第一单元第二节《舞动的生活》课件.pptx
- 2024年外研版小学四年级下册英语教学计划及进度表(三年级起点).docx
- 2024 年普通高等学校招生全国统一考试(新课标 I 卷)-数学解析-全国.docx VIP
- 训练 14 单项选择题(句子种类精选100题)-2024初中英语中考题型汇编高分训练(全国通用).docx VIP
- 航空公司孕妇乘机证明模板.doc
- drg的应用实践与思考课件.ppt
- 食品安全培训课件:《确保校园(学校食堂)食品安全》.pptx
- 《氓》公开课一等奖.ppt
- 2024年黑龙江冰雪体育职业学院单招数学考试试题及答案解析.docx
- 化工企业风险评估报告书.pdf
文档评论(0)