本书是专为广大学习和使用C++语言的读者设计的,旨在帮助读者更快更有效地掌握C++语言。全书共分4部分,通过大量实例全面系统地介绍了C++语言程序设计的基本概念和方法,主要内容包括:基本运算、数据类型、程序结构、函数、类与对象、预处理指令、文件处理、函数模板、类模板和STL的使用等。\r\n 书中给出的所有实例的代码完整,注释清楚,并附有运行结果和程序说明,同时也包含了许多编程技巧,而对相关概念和方法的说明简单明了。书中所有实例均在Visual C++ 6.0开发环境中调试通过。\r\n 本书是广大C++语言学习者和程序设计者的优秀参考书。
第一部分 C++语言基础\r\n\r\n实例1 main()函数\r\n实例2 C++程序的两种注释方法\r\n实例3 常量和变量\r\n实例4 cout输出\r\n实例5 cin输入\r\n实例6 整型数据的处理\r\n实例7 八进制和十六进制数据的处理\r\n实例8 浮点型数据的处理\r\n实例9 字符型数据的处理\r\n实例10 转义字符及其使用\r\n实例11 布尔类型的使用\r\n实例12 const变量的使用\r\n实例13 枚举类型的使用\r\n实例14 赋值运算\r\n实例15 自增自减运算\r\n实例16 关系运算\r\n实例17 逻辑运算\r\n实例18 位运算\r\n实例19 组合赋值运算\r\n实例20 sizeof运算\r\n实例21 顺序运算\r\n实例22 数据类型的转换\r\n实例23 简单条件语句\r\n实例24 if...else条件语句\r\n实例25 条件语句的嵌套使用\r\n实例26 带else...if的条件语句\r\n实例27 if语句条件设置的几种方法\r\n实例28 条件运算\r\n实例29 短路\r\n实例30 switch语句\r\n实例31 复合语句中的变量\r\n实例32 for循环语句\r\n实例33 while循环语句\r\n实例34 do-while循环语句\r\n实例35 多重循环\r\n实例36 goto语句\r\n实例37 break语句\r\n实例38 continue复合语句\r\n实例39 数组和下标变量\r\n实例40 用顺序法查找数组中的数据\r\n实例41 二分法查找数组元素\r\n实例42 选择排序法对数组排序\r\n实例43 多维数组的使用\r\n实例44 字符数组的使用\r\n实例45 指针变量与取地址和取内容运算\r\n实例46 指向数组的指针\r\n实例47 指针变量的运算\r\n实例48 字符型指针变量\r\n实例49 指针数组的使用\r\n实例50 指向指针的指针变量\r\n实例51 结构类型和结构变量\r\n实例52 结构数组\r\n实例53 结构指针变量\r\n实例54 new和delete运算\r\n实例55 结构指针变量与结构数组\r\n实例56 包含指针的结构类型\r\n实例57 嵌套结构\r\n实例58 递归结构\r\n实例59 单向链表\r\n实例60 双向链表\r\n实例61 联合类型\r\n实例62 联合与结构的比较\r\n实例63 用typedef定义类型\r\n实例64 计算任意一维数组的大小\r\n实例65 函数的定义和调用\r\n实例66 return语句在函数中的作用\r\n实例67 函数原型与定义\r\n实例68 函数值的传递方式\r\n实例69 函数地址的指针传递方式\r\n实例70 函数地址的引用传递方式\r\n实例71 带默认参数值的函数\r\n实例72 使用const修饰参数的函数\r\n实例73 void类型的函数参数和返回值\r\n实例74 函数的重载\r\n实例75 内联函数\r\n实例76 递归函数的设计\r\n实例77 main()函数参数和返回值的使用\r\n实例78 函数传递数组的方法\r\n实例79 函数传递结构的方法\r\n实例80 利用引用参数返回函数的多个值\r\n实例81 指向函数的指针\r\n实例82 用于结构输入输出的函数\r\n实例83 全局变量和局部变量\r\n实例84 静态变量\r\n实例85 函数的存储类别\r\n实例86 “流”文件的打开和关闭\r\n实例87 以字符方式读写“流”文件\r\n实例88 以字符串方式读写“流”文件\r\n实例89 以整数方式读写“流”文件\r\n实例90 以格式化方式读写“流”文件\r\n实例91 以数据块方式读写“流”文件\r\n实例92 “流”文件的读写定位\r\n实例93 数组的文件读写\r\n实例94 结构数据的文件读写\r\n实例95 预定义“流”文件指针\r\n实例96 “流”文件的错误处理\r\n实例97 文件嵌入预处理指令(#include)\r\n实例98 简单宏替换预处理指令(#define)\r\n实例99 带参数宏替换预处理指令(#define )\r\n实例100 条件编译预处理指令(#if)\r\n\r\n第二部分 类和对象\r\n\r\n实例101 类的定义与对象的建立和使用\r\n实例102 构造函数\r\n实例103 带参数的构造函数\r\n实例104 构造函数的初始化列表\r\n实例105 构造函数的重载\r\n实例106 带默认值参数的构造函数\r\n实例107 析构函数\r\n实例108 在类外定义类函数\r\n实例109 public:访问模式\r\n实例110 private访问模式\r\n实例111 类的静态数据成员\r\n实例112 类的静态成员函数\r\n实例113 内联成员函数\r\n实例114 空类\r\n实例115 类与结构\r\n实例116 类的组合\r\n实例117 成员函数的重载\r\n实例118 运算符的重载\r\n实例119 友元类\r\n实例120 友元函数\r\n实例121 插入(<<)和提取(>>)运算符的重载\r\n实例122 对象指针\r\n实例123 类的继承\r\n实例124 privatec继承模式\r\n实例125 public继承模式\r\n实例126 派生类构造函数的调用顺序\r\n实例127 派生类构造函数的参数传递\r\n实例128 派生类析构函数的调用顺序\r\n实例129 protected成员的继承性\r\n实例130 多类继承\r\n实例131 多类继承中构造函数和析构函数的执行顺序\r\n实例132 覆盖与虚函数\r\n实例133 纯虚函数与抽象类\r\n实例134 cout和cin对象的成员函数\r\n实例135 一个用类实现的双向链表\r\n实例136 string对象的构造和输入输出\r\n实例137 string对象的运算\r\n实例138 string对象常用的成员函数\r\n\r\n第三部分 预定义函数\r\n\r\n实例139 字符分类函数\r\n实例140 数字转换为字符串函数\r\n实例141 字符串转换为数字函数\r\n实例142 随机数函数\r\n实例143 三角函数\r\n实例144 反三角函数\r\n实例145 复数绝对值计算函数\r\n实例146 对数函数\r\n实例147 指数函数\r\n实例148 幂函数\r\n实例149 平方根函数\r\n实例150 获取系统时间函数\r\n实例151 系统时间格式化函数\r\n实例152 时间转换为字符串函数\r\n实例153 计算时间差函数\r\n实例154 内存分配和释放函数\r\n实例155 控制台输入输出函数\r\n实例156 格式化输出函数\r\n实例157 格式化输入函数\r\n实例158 目录管理函数\r\n实例159 获取文件信息函数\r\n实例160 字符串设置函数\r\n实例161 字符串拷贝函数\r\n实例162 字符串连接函数\r\n实例163 字符串比较函数\r\n实例164 字母大小写转换函数\r\n实例165 计算字符串长度函数\r\n实例166 字符串查找函数\r\n实例167 字符串反转函数\r\n实例168 字符串分离函数\r\n实例169 格式化输出到字符缓冲区函数\r\n\r\n第四部分 函数模板、类模板和STL\r\n\r\n实例170 函数模板的定义和使用\r\n实例171 支持多种数据类型的函数模板\r\n实例172 函数模板的引用参数\r\n实例173 函数模板的指针参数\r\n实例174 输入输出函数模板\r\n实例175 数组处理的函数模板\r\n实例176 二分查找法函数模板\r\n实例177 类模板的定义和使用\r\n实例178 栈处理的类模板\r\n实例179 支持多个不同数据类型的类模板\r\n实例180 STL\r\n实例181 序列容器vector\r\n实例182 序列容器deque\r\n实例183 序列容器list\r\n实例184 关联容器set\r\n实例185 关联容器multiset \r\n实例186 关联容器map \r\n实例187 关联容器mulitmap\r\n实例188 专用容器 valarray\r\n实例189 专用容器stack\r\n实例190 迭代器\r\n实例191 accumulate()算法对容器元素的累加计算\r\n实例192 count()算法统计容器元素的个数\r\n实例193 count_if()算法对容器的统计\r\n实例194 fill()和fill_n()算法对容器的填充\r\n实例195 find()算法对容器的查询\r\n实例196 find_end()算法对容器的查询\r\n实例197 generate()和generate_n()算法生成容器元素\r\n实例198 reverse()和reverse_copy()算法对容器的反转和拷贝处理\r\n实例199 sort()和partial_sort()算法对容器的排序处理\r\n实例200 max_element()和 min_element()算法求容器元素的最大值和最小值
C++语言是在C语言基础上发展起来的面向对象的程序设计语言,并保持了C语言的特点。它既支持面向对象程序设计,又支持过程化设计,可用于开发各类系统软件和应用软件,因此深受各类程序设计者的喜爱。
本书是为学习和使用C++语言编程读者而设计的,旨在帮助读者快捷高效地掌握C++语言。本书在写法上考虑到不同读者的特点,在全书的整体设计上突出了C++语言的完整性、系统性和连续性,而在某个实例的设计上又考虑到其独立性。因此,读者既可以完整地阅读本书,也可以有选择地阅读书中的某些实例。
全书共分4部分,通过大量应用实例循序渐进地对C++语言程序设计的基本概念和方法进行了全面系统的介绍。
第一部分通过100个实例介绍了C++语言的基础部分,主要内容包括:基本数据类型、基本运算、基本语句、数组、指针、结构、函数、文件输入输出和预处理指令等。读者掌握好这些内容,可以为C++语言的进一步学习打下基础。
第二部分通过38个实例分别介绍了C++语言与面向对象设计有关的概念和方法,主要内容包括:类和对象的概念、定义类和创建对象、数据成员与成员函数的设计和使用、构造函数与析构函数的设计和使用、类成成员访问性控制、静态数据与静态函数的设计和使用、重载的定义和使用、友元函数和友元类、类继承的概念、成员函数的覆盖、虚函数和抽象类等。这些内容是C++语言为面向对象设计而提供的编程机制,因此,读者要想用C++进行面向对象程序设计,就必须正确地理解和掌握这部分内容。
第三部分通过31个实例分类介绍了C++预定义函数的使用,这些函数是从C语言系统继承过来的,它们的声明都分类存放在C++系统的include子目录下的各个头文件中。熟悉了这些预定义函数的功能和用法,无论对C或C++程序设计都会有很大的帮助。
第四部分通过31个实例系统地介绍了有关C++模板定义和使用的知识,主要内容包括:函数模板的定义和使用,类模板的定义和使用,STL的容器、迭代器和算法的概念,STL主要容器模板的使用方法,STL一些常用算法的使用特点。这些内容是C++语言的高级部分,理解其概念,熟悉其功能和用法,对提高C++程序设计的效率会有极大帮助。
本书给出的所有实例的代码完整,注释清楚,并附有运行结果和程序说明,同时也包含了许多编程技巧,对相关概念和方法的说明简单明了。书中所有实例均在Visual C++ 6.0(书中简称VC++ 6.0)开发环境中调试通过。
本书写作的立足点是学习标准C++语言,尽管选择了流行的VC++ 6.0作为本书示例和练习的调试运行环境,但其不作为本书的重点。
参加本书编写工作的还有武兴庄、冯微、袁丽、秦绪起、林红、卫东、林静、郝曙光、王志远、吕峰、李军、钱炜、孙成军及常明亮等同志。
由于编者水平所限,书中错误和疏漏之处在所难免,希望专家和读者朋友及时指正。
作者
2003年1月