没有合适的资源?快使用搜索试试~ 我知道了~
关于c++的题目,指针、对象、单继承、多继承、虚函数、运算符重载,有答案。
资源推荐
资源详情
资源评论
习题答案
目 录
第 1 章 引 论 ............................................................................ 1
一、基本内容..................................................................................................................................1
二、学习要点..................................................................................................................................1
三、习题答案..................................................................................................................................2
第 2 章 C++的变量、类型及函数............................................. 4
一、基本内容..................................................................................................................................4
二、学习要点..................................................................................................................................4
三.习题答案..................................................................................................................................6
第 3 章 C++的类....................................................................... 10
一.基本内容................................................................................................................................10
二.学习要点................................................................................................................................10
三.习题答案................................................................................................................................11
第 4 章 作用域及成员指针...................................................... 19
一.基本内容................................................................................................................................19
二.学习要点................................................................................................................................19
三、习题答案................................................................................................................................21
第 5 章 静态成员与友元.......................................................... 31
一.基本内容................................................................................................................................31
二.学习要点................................................................................................................................31
三.习题答案................................................................................................................................32
第 6 章 单继承类 ...................................................................... 42
一.基本内容................................................................................................................................42
二.学习要点................................................................................................................................42
三.习题答案................................................................................................................................43
第 7 章 虚函数 .......................................................................... 51
一.基本内容................................................................................................................................51
二.学习要点................................................................................................................................51
三.习题答案................................................................................................................................52
第 8 章 多继承类 ...................................................................... 61
一.基本内容................................................................................................................................61
二.学习要点................................................................................................................................61
三.习题答案................................................................................................................................62
第 9 章 运算符重载 .................................................................. 70
一.基本内容................................................................................................................................70
二.学习要点................................................................................................................................70
三.习题答案................................................................................................................................71
第 10 章 模 板 ........................................................................ 91
一.基本内容................................................................................................................................91
二.学习要点................................................................................................................................91
1
C++程序设计实践教程
三.习题答案................................................................................................................................92
第 11 章 异常处理与断言 ...................................................... 100
一.基本内容..............................................................................................................................100
二.学习要点..............................................................................................................................100
三.习题答案..............................................................................................................................101
面向对象程序设计模拟试卷一................................................ 109
面向对象程序设计模拟试卷二................................................ 113
面向对象程序设计模拟试卷一答案........................................ 118
面向对象程序设计模拟试卷二答案........................................ 121
面向对象程序设计实践考核.................................................... 123
一.考核目的..............................................................................................................................123
二.考核内容..............................................................................................................................123
三.评分标准..............................................................................................................................123
四.样本试题..............................................................................................................................123
五.考核时间..............................................................................................................................124
面向对象程序设计实践考核答案............................................ 125
2
习题答案
第 1 章 引 论
一、基本内容
机器语言、汇编语言、高级语言、元语言、编译连接、早期绑定、晚期绑定、面向对象
的设计步骤、封装、重载、多态、继承、抽象、程序结构与组织。本章对面向对象的有关
概念不要求完全掌握。
二、学习要点
机器语言是一种计算机自身可以识别的语言,机器语言程序是由机器指令和数据形成的
二进制文档。机器语言指令通常由操作码和地址码构成。机器语言程序难于理解、编程繁
琐、不易维护。
汇编语言是一种符号化的能直接将汇编指令翻译为机器指令的程序设计语言。汇编语言
和机器语言同为低级语言。汇编语言更易理解和用于编程,但它仍然是一种面向机器的低
级程序设计语言。
高级语言程序是一种以类似于自然语言形式描述指令及数据的程序设计语言。高级语言
程序经编译可生成低级语言程序。高级语言通常指是面向过程的程序设计语言,即描述的
是问题求解的过程、算法或方法,问题求解的常用手段是功能分解。面向对象的程序设计
语言是一种能对新类型描述其属性和操作的高级语言,同时为新类型的定义提供了重载、
封装、多态、继承、组成等描述机制。
元语言是一种用来描述其他语言的语言。其特点是描述准确严格、抽象程度高。常用的
描述程序设计语言的元语言是 BNF 语言。
编译程序是用来将高级语言翻译为低级语言的程序,反编译程序是用来将低级语言翻译
为高级语言的程序。程序设计语言的翻译方式通常有两种,即解释方式和编译方式。C++
一般采用编译方式。
高级语言程序通常要经过预处理、词法分析、语法分析、代码生成和模块连接等环节,
才能被编译成可被计算机执行的程序。
绑定(binding)就是将函数的入口地址同函数调用指令的地址码相联系的过程。绑定就是
要计算被调用函数的入口地址,并将该地址存放到函数调用指令的地址码部分。绑定分为
静态绑定和动态绑定两种形式,通常又叫早期绑定和晚期绑定。静态绑定在程序执行前完
成,由编译程序或操作系统的装入程序计算函数的入口地址;动态绑定则在程序执行过程
中完成,由应用程序自身计算函数的入口地址。
面向对象的技术八十年代初开始出现,SMALLTALK、C++、JAVA、C#等是较为著名的
面向对象的程序设计语言。C++在 20 世纪 80 年代初出现,直到 1983 年 C++的名字才正式
确定下来。1986 年,Bjarne Stroustrup 在美国 AT&T 的贝尔实验室开发了 C++。
面向对象的设计要经历系统分析、系统设计、对象设计与对象实现等四个阶段,每个阶
段之间的界限不是十分明显。这种早期模型和晚期模型的一致性,使面向对象的技术能更
1
C++程序设计实践教程
好地支持快速原型法。
封装是将对象的“属性”和“方法”包装在一起、并对外部提供不同权限的访问接口的
机制。重载是指用同名的操作针对不同的类型完成不同的功能。重载是多态的一种特例,
重载又称为编译时多态,多态则特指运行时多态。多态是指同名的操作针对不同的类型表
现出不同的行为。继承是指一种类型接受并利用另一种类型的属性和操作的机制。继承可
以分为取代继承、包含继承、受限继承和异化继承等多种方式。
抽象是指一种从事物实例得到事物的共同属性和操作从而形成事物类型描述的过程,或
从若干低级的事物类型不但提炼形成高级或更具普遍意义事物类型描述的过程。
C++程序是一种由变量、过程或函数以及类型描述构成的混和结构的程序织。因此,从
这个意义上说,C++不是一种纯的面向对象的程序设计语言。
三、习题答案
1.1 高级语言程序经过哪些阶段才能成为可执行程序?
解:高级语言程序通常要经过预处理、词法分析、语法分析、代码生成和模块连接等阶段,
才能被编译成可被计算机执行的程序。
1.2 什么叫静态连接?什么叫动态连接?它们有什么区别?
解:静态连接是由编译程序完成的。编译程序将编译生成的目标语言连接成可执行程序文
件的过程。
动态连接是由操作系统完成的。在应用程序执的行过程中,操作系统根据被调用的函数
名连接内存中的动态连接库函数。若相关动态连接库被移出内存,则重新装入动态连接
库并重新连接。
静态连接是在程序执行之前完成的,动态连接是在程序的执行过程中完成的。静态连接
程序在执行时不需要再次装入程序文件,动态连接程序在执行时一般需要重新装入程序
文件,因此,静态连接程序一般来说比动态连接程序执行速度快。静态连接程序需要将
程序文件全部装入内存,如果不同的程序包含了同样的函数代码,就会在内存装入这些
函数的多个副本,动态连接程序总是共用同一个函数副本,因此,静态连接程序一般要
比动态连接程序占用更多的内存。
1.3 什么叫静态绑定?什么叫动态绑定?它们有什么区别?
解:静态绑定是在程序运行之前进行的。编译程序或操作系统在装入程序后,计算函数的
入口地址,并将该地址填写到相应的函数调用处。
动态绑定是程序运行之中完成的。应用程序在执行过程中,激活由编译程序生成的、通
过静态或动态方式连接的一段代码,计算函数的入口地址并填写到相应的函数调用处。
两者的区别在于:静态绑定在程序执行之前完成,由编译程序或操作系统计算函数的入
口地址;动态绑定在程序运行之中完成,由应用程序自己计算函数的入口地址。
1.4 什么叫封装?提供封装机制有什么好处?
解:封装是将对象的“属性”和“方法”包装在一起、并对外部提供不同权限的访问接口
的机制。
提供封装机制的好处在于:(1)通过封装对象的“属性”和“方法”,为对象定义了系
统边界。(2)在保持封装接口不变的情况下,可以改变对象的内部结构,而不会影响对
2
习题答案
象的外部特性,从而为对象进化提供了方便。(3)由于封装屏蔽了对象“方法”的细节,
从而保证核心算法不被泄露,有助于保护软件开发机构的知识产权。
1.5 什么叫包含继承?什么叫受限继承?
解:包含继承是一种派生类对象完整继承所有基类“属性”和“操作”、并且增加自己的“属
性”和“操作”的继承方法。
受限继承是一种派生类对象部分继承基类“属性”和“操作”、并且不增加新的“属性”
和“操作”的继承方法。
1.6 C++语言有何特点?
解:(1)C++是C语言的超集,继承了C语言的代码质量高、运行速度快、可移植性好等特
点。(2)C++是一种强类型的语言,这使得开发人员在编译阶段就能发现C++程序的
潜在错误。(3)C ++的表达能力由于多继承特性、丰富的运算符及运算符重载机制而远
远强于其他面向对象的语言。(4)C++通过函数模板和类模板提供了更高级别的抽象能
力,从而进一步提高了 C++的表达效率。(5)C++提供了面向对象的异常处理机制,从
而使程序更加易于理解和维护,并为局部对象提供了自动析构等有效手段,从而可避免
因局部对象未析够而造成的资源泄露(包括内存泄露)。(6)C++的名字空间解决了不
同机构的软件模块的标示符同名冲突问题,从而为大型软件的开发和软件容错提供了有
效手段。(7)在对象的内存管理方面,C++提供了自动回收和人工回收两种方式。这是
开发高效率的系统软件所必需的,但另一方面却容易出错且难于掌握。(8)C++程序是
由类、变量和模块混合构成,不象 J AVA 那样完全由类构成。
1.7 应当怎样组织C++的程序?
解:一个程序由包含文件、类程序文件、函数程序文件等多种文件构成。
根据程序所用的库函数,收集要包含的标准头文件,将其加入到自己定义的包含文件中。
自定义的包含文件供所有程序文件使用,该文件包含类型、变量、函数的说明信息而非
定义信息。
类程序文件是指包含了成员函数函数体定义的文件,而不是仅包含成员函数原型的说明
信息文件;函数程序文件是指包含了函数头及其函数体定义的文件,而不是仅包含函数
原型的说明信息文件。
如果变量、函数不为整个程序所共享,则将它们定义为局部变量和函数。
3
剩余128页未读,继续阅读
资源评论
suxiuapple
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功