近期出现的C++面试题整理(附详细答案).docx
《近期出现的C++面试题整理(附详细答案).docx》由会员分享,可在线阅读,更多相关《近期出现的C++面试题整理(附详细答案).docx(58页珍藏版)》请在优知文库上搜索。
1、第一部分:简答题1.一下C+中SUUijCaSt和dynamic_casi的区别。答:NatijCa“用有比较明确定义的变换,包括不需要强制转换的变换。dynamiJCaSt适用于类型安全的向下转换,常用在继承中的父类指针向子类指针的转换.若转换成功则返网改类型的指针,若失败,则返【可NU1.1.1. Struct和ClaSS的区别。答:struct是一种结构体类型的标志,它和C+中的Class很相似。C+中两者的唯一区别在于:ClaSS定义中默认情况卜的成员都是私有的,而结构StrUCl定义中默认情况下的成员都是公有的,在C中,结构中不能有成员函数,而在C+中可以有成员函数.1 .是不是一个
2、父类写了一个VirtUal函数,如果子类覆蛊它的函数不加Virtua1,也能实现多态?答:VirtUal修饰符会被隐形继承的。PriValC也被继承,只是派生类没有访问权限而已。VimIal可加可不加。子类的空间里有父类的所有变量(StatiC除外)。同一个函数只存在个实体(Hine除外)。子类覆盖它的函数不加VirtUaI.也能实现多态。在子类的空间里,有父类的私有变量.私有变盘不能直接访问.1.C和C+有什么不同?(从机制,适用象域等方面说说)答:从机制上:C是面向过程的(但C也可以编写面向对象的程序:C+是面向对象的,提供了类。但是,C+编写面向对象的程序比C容易从适用的方向:C适合要求
3、代码体枳小的,效率高的场合,如嵌入式:C+适合更上层的,发杂的:HinUX核心大部分是C写的,因为它是系统软件,效率要求极高。从名称上也可以看出,C+比C多了+,说明C+是C的超桀:那为什么不叫C+而叫C+呢,是因为C+比C来说扩充的东西太多了,所以就在C后面放上两个+;于是就成了C+C语言是结构化编程语言,C+是面向对象编程语言。C+,侧或于对象而不是过程,倜应于类的设许而不是逻辑的设计。1 .请说出COnsl与#define相比,有何优点?答:1) COnSt常量有数据类型,而宏常量没有数据类型。编译罂可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能
4、会产生意料不到的错误。2)有些集成化的调试工具可以对const常量进行调试,但是不能时宏常量进行调试。1 .简述数组与指针的区别?答:数组要么在静态存储区被创建(如全局数组),要么在枝上被创建。指针可以随时指向任意类型的内存块.(1)修改内容上的差别chara=hello;a0=*X,;char*p=world”;注意P指向常量字符串p0=X;/编译器不能发现该错误,运行时错误(2)用运律符Seof可以计算出数组的容兄(字节数)sizeof(p),p为指针得到的是一个指针变量的字节数,而不是p所指的内存容量。C+/C语言没有办法知道指针所指的内存容量,除非在申谙内存时记住它。注意当数组作为函数
5、的参数进行传递时,该数组自动退化为同类型的指针。chara=,helloworld;char*p=a;coutsize(八)endl;/12字节coutSiZeor(P)endl;/4字节计算数组和指针的内存容垃voidEunc(chara100)coutsizeof(八)endl;/4字节而不是100字节)1 .类成员函数的重载、覆盖和隐藏区别?答:a成员函数被全载的特征:(I)相同的范围(在同一个类中):(2)函数名字相同;(3)参数不同:(4) VirtUal关键字可有可无。b.覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范圉(分别位于派生类与基类);(2)函数幺字相同:参数相同
6、:(4)基类函数必须有VirtUaI关键字。c“隐成”是指派生类的函数屏蔽了与其同名的基类函数,规则如F:(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被阮版(注意别与重载混消)。(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有VirtUal关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)1 .面向对象的三个基本特征,并简堆叙述之?1 .封装:将客观事物抽象成类,每个类对自身的数据和方法实行protcction(privatc.protcctcd.public)2 .维承:广义的继承有三种实现形式:实现继承(指使
7、用堪类的属性和方法而无需额外编码的能力)、可视继承(子窗体使用父窗体的外观和实现代码)、接口继承(仅使用属性和方法,实现滞后到子类实现)。前两种(类继承)和后一种(对以组合=接口继承以及纯虚函数)构成了功能曳用的两种方式.3 .多态:是将父对象设置成为和个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作.简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。9.请简单描述Windows内存管理的方法.答:内存管理是操作系统中的重要部分,两三句话恐怕谁也说不清她吧我先说个大概,希望能够抛砖引玉吧当程序运行时需要从内存中读出这段程序的代码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 近期 出现 C+ 试题 整理 详细 答案