1 / 57
文档名称:

C常见面试题.doc

格式:doc   大小:135KB   页数:57页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C常见面试题.doc

上传人:分享精品 2017/7/30 文件大小:135 KB

下载得到文件列表

C常见面试题.doc

相关文档

文档介绍

文档介绍:、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不是库函数。
delete []区别
delete只会调用一次析构函数,而delete[]会调用每一个成员的析构函数。在More Effective C++中有更为详细的解释:“当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就会认为指向的是单个对象,否则,它就会认为指向的是一个数组。
C++ JAVA共同点,不同之处?

类继承是在编译时刻静态定义的,且可直接使用,类继承可以较方便地改变父类的实现。但是类继承也有一些不足之处。首先,因为继承在编译时刻就定义了,所以无法在运行时刻改变从父类继承的实现。更糟的是,父类通常至少定义了子类的部分行为,父类的任何改变都可能影响子类的行为。如果继承下来的实现不适合解决新的问题,则父类必须重写或被其他更适合的类替换。这种依赖关系限制了灵活性并最终限制了复用性。
(待补充)

++有哪些性质(面向对象特点)
封装,继承和多态。
在面向对象程序设计语言中,封装是利用可重用成分构造软件系统的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性;消息传递可以实现发送一个通用的消息而调用不同的方法;封装是实现信息隐蔽的一种技术,其目的是使类的定义和实现分离。
?
析构函数调用的次序是先派生类的析构后基类的析构,也就是说在基类的的析构调用的时候,派生类的信息已经全部销毁了定义一个对象时先调用基类的构造函数、然后调用派生类的构造函数;析构的时候恰好相反:先调用派生类的析构函数、然后调用基类的析构函数JAVA无析构函数深拷贝和浅拷贝
,虚函数,纯虚函数
多态:是对于不同对象接收相同消息时产生不同的动作。C++的多态性具体体现在运行和编译两个方面:在程序运行时的多态性通过继承和虚函数来体现;
在程序编译时多态性体现在函数和运算符的重载上

虚函数:在基类中冠以关键字 virtual 的成员函数。它提供了一种接口界面。允许在派生类中对基类的虚函数重新定义。
纯虚函数的作用:在基类中为其派生类保留一个函数的名字,以便派生类根据需要对它进行定义。作为接口而存在纯虚函数不具备函数的功能,一般不能直接被调用。
从基类继承来的纯虚函数,在派生类中仍是虚函数。如果一个类中至少有一个纯虚函数,那么这个类被称为抽象类(abstract class)。
抽象类中不仅包括纯虚函数,也可包括虚函数。l抽象类必须用作派生其他类的基类,而不能用于直接创建对象实例。但仍可使用指向抽象类的指针支持运行时多态性。



(微软)
int func(x)
{
int countx = 0;
while(x)

最近更新

丘脑网状核介导皮层丘脑通路在防御性逃跑行为.. 2页

不同营养水体中鲢、鳙摄食生态学的稳定性同位.. 2页

不同时期法国出版物中的中国形象概述 2页

不利温度对烟粉虱共生菌的影响 2页

三宅一生服装设计的创意视角研究 2页

一种改进的BP神经网络在列车座椅舒适度评价方.. 2页

白酒物流合作协议模板3篇 52页

畜牧业产品销售提成协议3篇 50页

《新标准大学英语》教材中国文化元素呈现特征.. 2页

辽宁省铁岭市昌图县2022年数学八上期末学业质.. 15页

贵州省铜仁地区名校2022年七年级数学第一学期.. 12页

电影发行合伙人退伙协议3篇 43页

湖北省鄂州市城南新区吴都中学2022年八年级物.. 21页

电子市场合作经营商铺合同范本3篇 50页

电子商务平台服务合同范本3篇 56页

电子制造厂房出租协议范本3篇 47页

‘黄老门’姜茎尖离体培养技术研究 2页

电子产品租赁分期付款协议3篇 48页

2023届四川省成都市都江堰区数学八上期末经典.. 27页

电子产业挖掘机租赁合同3篇 52页

电商快递配送服务合同2篇 35页

Tet1在骨骼肌再生中的功能研究 2页

RIP140对脓毒症急性肺损伤PPARγ调控作用的研.. 2页

三维打印技术在时尚设计的应用-深度研究 32页

ox-LDL、IL-22在子痫前期患者血清及胎盘中的表.. 2页

NK细胞在乳腺癌组织中的表达及其意义 2页

基于社区自主管理的甘南州草牧场利用与保护研.. 7页

Moodle平台网络课程数据挖掘模式分析 2页

2025年菏泽医学专科学校单招职业技能测试题库.. 72页

100以内30道加减法混合练习题及答案(二年级数.. 8页