C++面向对象程序设计课后答案

C++面向对象程序设计课后答案

ID:37914977

大小:65.50 KB

页数:19页

时间:2019-06-02

C++面向对象程序设计课后答案_第1页
C++面向对象程序设计课后答案_第2页
C++面向对象程序设计课后答案_第3页
C++面向对象程序设计课后答案_第4页
C++面向对象程序设计课后答案_第5页
资源描述:

《C++面向对象程序设计课后答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、习题11-1面向对象程序设计与面向过程程序设计相比有什么优点?答:优点有:(1)写程序不再是从计算机的角度考虑问题,而是站在人类思维的角度;(2)程序的可拓展性比其他不是面向对象的好;(3)能最大限度波爱护已有程序的代码。1-2简述C++语言程序的特点。答:C++语言是在C语言的基础上发展而来,但它比C语言更容易学习和掌握,它与C的最大区别是把函数放进了结构中,并引入了新的关键词类。C++完美的体现了面向对象的各种特性。1-3C++与C语言的关系如何?它们的本质区别是什么?答:C++语言是基于C语言的基础上发展起来的。它们的关系十分密切,很多语句之间是通用的。它们的本质区

2、别是C语言是面向过程的编程语言,而C++是面向对象的编程语言。1-3组件编程有什么优点?答:组件编程的优点是它把对象技术应用于系统设计,对面向对象的程序设计的实现过程做了进一步抽象。它强调真正的软件可重用性和高度的互操作性。习题22-1结构与联合有何区别?答:联合是有别于以前任何一种数据类型的特殊数据类型,它是多个成员的一个组合体,但与结构体不同,联合体的成员被分配在同一段内存空间中,它们的开始地址相同,使得同一段内存由不同的变量共享。2-2struct和class区别是什么?答:C++中,struct和class基本是一直的,唯一不同在于,struct中缺省权限publ

3、ic,class缺省权限private,即在struct和class没有写public时,struct默认为public,class默认为private。2-3什么是内联函数?内联函数的优点是什么?答:C++提供一种提高效率的方法,即变异时将调用函数的代码直接嵌入到主函数中,而不是将流程转出去,这种嵌入到主函数的函数叫内联函数。使用内联函数可以节省运行时间,提高函数的执行效率。2-4什么是函数重载?编译系统如何区别同名函数的不同版本?答:C++允许用同一函数名定义多个函数,这函数的参数个数和参数类型不同,这就是函数的重载。在编译时,编译系统会根据同名函数的参数不同等对名字

4、做处理。2-5什么是“引用”?申明和使用“引用”要注意哪些?答;引用就是某一变量的一个别名,对引用的操作与对变量直接操作是完全一样。申明和使用引用要注意:(1)不同有NULL引用,引用必须与合法的存储单元关联;(2)引用被创建的同时,必须初始化;(3)一旦引用被初始化,就不能改变引用关系,但指定对象其内容可以改变。2—7简述C++函数3种调用的方式实现机制,特点及其实参,形参格式。答:在C++中,有按值传递,地址传递,引用传递3种的函数调用方式,按值传递的过程为:首先计算出实参表达式值,给对应的形参变量分配一个存储空间,该空间大小等于形参类型,然后把求出的实参的值一一存入

5、形参变量的存储空间中,成为形参变量的初值。种种传递是把实参表达式的值传递给对应的形参变量,使用这种方式,调用函数不对实参进行操作。而抵制传世是如果函数定义时将形参说明成指针,对这样的函数进行调用时需要指定地址形式的实参。2-8写出下面程序的输出Union{inti;charx[2];}a;Voidmain(0{a.x[0]=10;a.x[1]=1;printf(“%d”,a.i);}答:输出是2662-10写出下面程序的输出structA{chart:4;Chark:4;Unsignedshorti:8;Unsignedlongm;};Main(0{structAa;a.

6、t=’b’;printf(“%x”,a.t);}答:输出是2习题33-1Newdelete与mallocfree的联系与区别是什么?答;在程序开发中的内存的动态分配与管理是一个让开发者头痛的问题,在C中,一般通过malloc和free来进行内存分配和回收,而在C++中,new和delete已经完全包含malloc和free的功能,并且更为强大。它们的区别是malloc和free是库函数而不是运算符,不在编译器控制权限之内,而new和delete是运算符。New出来的指针式直接带类型信息,而malloc返回是void指针。3-2描述内存分配以及它们的区别。答:内存分配的“堆

7、”和“栈”。主要区别是:(1)管理方式和碎片问题:对于栈来说,由编译器自动管理;对于堆来说,释放工作由程序员控制,容易产生内存碎片。(2)分配效率:栈的效率要比堆的高得多;(3):增长方式不同:栈内存是从高地址到低地址增长,而堆是相反的;(4)空间大小的不同:一般来讲,在32位系统下,内存可以达到4GB空间,但对于栈来讲,一般都是有一定的空间大小的。3-3请定义一个变量,初始化为34759,并以八进制与十六进制输出。如果将该整数定义成无符号短整数,当以有有符号数输出时,结果是什么?答;程序如下:#include

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。