基本信息出版社:华中科技大学出版社
页码:250 页
出版日期:2001年02月
ISBN:7560923666
条形码:9787560923666
版本:第1版
装帧:平装
开本:16
正文语种:中文
丛书名:高等学校计算机教材
内容简介 《C++程序设计实践教程》全面系统地介绍了C++语言的基本概念,并为这些概念精心设计和挑选了买例。书中内容包括:类、又寸象、封装、继承、重载、多态、引用、内联、友元、模板、异常、断言、虚函数、抽象类、静态成员、成员指针、名字空间、流及类库等等。为了使《C++程序设计实践教程》介绍的对象建模技术更具实战性,《C++程序设计实践教程》按照面向对象的系统分析与设计步骤,完整地介绍了一个对象建模实例,并用C++语言进行了面向对象的程序设计。
为方便学生自学,本教材配有《学习指导与习题详解》光盘一片,其中对教材中的所有习题给出了详尽地解答。并提供了若干套模拟题以帮助学生进行学习自测。还附上了教材中例题、习题解答中的所有源代码,便于学生上机调试。
《C++程序设计实践教程》内容新颖、通俗易懂、注重理论与实践相结合,既可作为高等院校计算机及其相关专业的教材,又可作为C++初学者和高级程序设计人员的参考书。
目录
第1章 引论
1.1 程序设计语言
1.2 程序编译技术
1.3 面向对象的语言及程序设计
1.4 面向对象的基本概念
1.5 C++语言的特点
1.6 C++的程序结构
练习题
第2章 C++的变量、类型及函数
2.1 声明及定义
2.2 类型定义
2.3 引用类型
2.4.函数参数
2.5 函数内联
练习题
第3章 C++的类
3.1 类的声明及定义
3.2 访问权限
3.3 内联及位段
3.4 new和delete
3.5 隐含参数this
3.6 对象初始化
3.7 类的存储空间
练习题
第4章 作用域及成员指针
4.1 作用域
4.2 名字空间
4.3 成员指针
4.4 const、volatile和mutable
4.5 引用对象
练习题
第5章 静态成员与友元
5.1 静态数据成员
5.2 静态函数成员
5.3 静态成员指针
5.4 成员友元
5.5 普通友元
练习题
第6章 单继承类
6.1 单继承类
6.2 派生控制
6.3 成员访问
6.4 构造与析构
6.5 父类和子类
6.6 派生类的存储空间
练习题
第7章 虚函数
7.1 虚函数
7.2 虚析构函数
7.3 抽象类
7.4 友元、绑定
7.5 类的存储空间
练习题.
第8章 多继承类
8.1 多继承类
8.2 虚基类
8.3 派生类成员
8.4 构造与析构
8.5 类的存储空间
练习题
第9章 运算符重载
9.1 概述
9.2 运算符函数参数
9.3 赋值与调用
9.4 强制类型转换
9.5 重载new和delete
9.6 表运算实例
练习题
第10章 模板
10.1 函数模板
10.2 模板函数
10.3 类模板
10.4 模板类及覆盖
10.5 内存回收实例
练习题
第11章 异常处理与断言
11.1 异常处理
11.2 catch顺序
11.3 异常接口
11.4 异常类型
11.5 异常对象的析构
11.6 断言
练习题.
第12章 C++流及类库
12.1 流类概述
12.2 输出流
12.3 输人流
12.4.文件流
12.5 串流处理
第13章 对象分析与设计
13.1 概述
13.2 对象模型
13.3 对象分析技术
13.4 对象设计与实现
13.5 一个实例
13.6 对象实现
附录AC++运算符表
附录BASClI字符码表
参考文献
……
序言 C++是由Bjarne Stroustrup于1986年在AT&T贝尔实验室开发的。开发这一语言的目的在于通过数据封装减小程序变量的副作用,从而降低程序的复杂性并提高程序的可靠性.C++是C语言的直接扩展,C++的多继承机制能更好地描述对象的属性和行为,因此,C++特别有助于开发大型软件系统。到目前为止,C++的语法和语义还在发展变化,已基本具备面向对象语言的全部特点。
许多教材往往用大量篇幅介绍C或C++的开发环境,而没有全面深刻地介绍类和面向对象的程序设计。许多人在学完C++后,觉得C和C++没有多大区别,体会不到面向对象的程序设计的优点,这与教材忽视概念的应用背景介绍有很大关系。
本书全面深刻地介绍C++的类,不重复介绍C语言的有关概念,所有章节均以类为中心,由浅人深地逐步展开,尽量避免前后参照和相互关联,力图使初学者理解而不是死记概念。在详细介绍有关概念的基础上,本书通过精心设计的例题,具体说明有关概念的使用方法。绝大部分例题能在Borland C++Ver 3.1上运行,少数例题必须在5.0甚至更高版本上才能运行。
文摘 1.2程序编译技术
程序设计语言的翻译方式通常有两种,即解释方式和编译方式。在解释方式下,由解释器读人高级语言程序,并逐条解释和执行程序的每条语句;在编译方式下,由编译程序读入高级语言程序,并编译成某种等价的目标语言程序,然后由操作系统装入和执行目标语言程序。
就程序最终的执行速度而言,用编译方式实现要比用解释方式实现快。程序设计语言可以用多种方式实现。例如,BASIC语言既可用解释方式实现,也可用编译方式实现,C和C++通常只以编译方式实现,以下重点介绍编译技术。
1.2.1编译技术
高级语言程序通常要经过预处理、词法分析、语法分析、代码生成和模块连接等环节,才能被编译成可被计算机执行的目标语言程序。每个编译环节的输出通常作为下一编译环节的输入,该输出通常以文件的形式存放在磁盘上。编译结束时,通常只保留目标文件和目标语言程序,中间文件在编译结束后会被自动删除。
对于C和C++编译程序而言,预处理过程通常要完成由#define定义的宏替换、由#inClude定义的文件包含以及由#if。等定义的条件编译,最终生成不包含#define、#inClude及其他编译命令的文本文件。在预处理过程中,注解、多余的空格或空行均会被删除。
词法分析的任务是分析识别出各种有意义的词法记号,它以预处理程序输出的文本文件作为输入,词法记号是高级语言程序中所使用的各种单词,包括保留字、标识符、操作符、分隔符以及各种常量。识别的单词连同其他相关信息一起存放在符号表中,供语法分析程序检查语言的语法结构时使用。
语法分析程序根据程序设计语言的形式规范检查程序语法的正确性。程序设计语言的形式规范严格地描述了变量声明、函数及各种语句的语法结构。语法分析程序分析源程序的程序语义,其输出将作为代码生成程序的输入。
代码生成程序根据已经识别的程序语义生成和源程序等价的某种形式的中间代码,这种代码可以是一种需要再次解释的代码,也可以是一种带有连接信息的特定计算机的机器指令代码。