
| Harvey M. Deitel博士是Deitel & Associates公司的主席和首席决策官员。在计算机领域43年的勤奋工作,使他具有极其丰富的业界和学术界经验。Detiel博士拥有麻省理工学院的学士和硕士学位,以及波士顿大学的哲学博士学位。他曾致力于IBM和MIT的一系列领先于时代的虚拟内存操作系统项目的研究工作,这些项目的技术成果如今已广泛应用于UNIX、Linux和Windows XP等系统中。他从事大学教学20余年,是波士顿学院计算机系的终身教授,而且在与其子Paul J. Deitel成立Deitel & Associates公司之.. << 查看详细 |
| 第1章 计算机、互联网和万维网简介1 1.1 简介2 1.2 什么是计算机2 1.3 计算机组成3 1.4 早期的操作系统4 1.5 个人计算、分布式计算和客户/服务器计算4 1.6 互联网和万维网5 1.7 机器语言、汇编语言和高级语言5 1.8 c和c++的历史6 1.9 c++标准库7 1.10 java的历史7 1.11 fortran、cobol、pascal和ada8 1.12 basic、visual basic、visual c++、c#和.net8 1.13 主要的软件趋势:对象技术9 1.14 典型的c++开发环境10 1.15 关于c++和本书的几点说明12 1.16 试运行一个c++应用程序13 1.17 对象技术和uml的介绍17 1.18 本章小结22 1.19 web资源23 .第2章 c++编程入门30 2.1 简介30 2.2 第一个c++程序:打印一行文本31 2.3 修改第一个c++程序34 2.4 另一个c++程序:整数相加35 2.5 内存的概念38 2.6 算术运算39 2.7 判断:相等运算符和关系运算符42 2.8 本章小结46 第3章 类和对象介绍55 3.1 简介55 3.2 类、对象、成员函数和数据成员56 3.3 本章范例综述57 3.4 定义具有成员函数的类57 3.5 定义具有形参的成员函数60 3.6 数据成员、设置函数和获取函数63 3.7 用构造函数初始化对象69 3.8 一个类对应一个独立文件的可重用性72 3.9 接口与实现的分离75 3.10 用设置函数确认数据的有效性80 3.11 本章小结84 第4章 控制语句(第i部分)90 4.1 简介91 4.2 算法91 4.3 伪代码91 4.4 控制结构92 4.5 if选择语句95 4.6 if...else双路选择语句96 4.7 while循环语句101 4.8 算法详述:计数器控制的循环102 4.9 算法详述:标记控制的循环107 4.10 算法详述:嵌套的控制语句116 4.11 赋值运算符120 4.12 自增和自减运算符121 4.13 本章小结123 第5章 控制语句(第ii部分)138 5.1 简介138 5.2 计数器控制的循环的要素139 5.3 for循环语句140 5.4 使用for语句的例子144 5.5 do...while 循环语句148 5.6 switch多路选择语句150 5.7 break和continue语句157 5.8 逻辑运算符159 5.9==运算符与=运算符的混淆问题162 5.10 结构化编程总结163 5.11 本章小结167 第6章 函数和递归入门178 6.1 简介179 6.2 c++的程序组件179 6.3 数学库函数181 6.4 多参数函数定义182 6.5 函数原型和实参类型的强制转换185 6.6 c++标准库头文件187 6.7 实例研究:随机数生成188 6.8 实例研究:博彩游戏和enum简介193 6.9 存储类别196 6.10 作用域规则198 6.11 函数调用堆栈和活动记录200 6.12 无参函数203 6.13 内联函数204 6.14 引用和引用参数205 6.15 默认实参209 6.16 一元作用域分辨运算符211 6.17 函数重载212 6.18 函数模板214 6.19 递归216 6.20 递归应用示例:fibonacci数列218 6.21 递归与迭代221 6.22 本章小结223 第7章 数组与c++标准库类模板vector243 7.1 简介243 7.2 数组244 7.3 声明数组245 7.4 使用数组的范例246 7.5 将数组传递给函数259 7.6 实例研究:利用数组存放成绩的类gradebook262 7.7 采用线性查找法查找数组268 7.8 采用插值排序法排序数组269 7.9 多维数组271 7.10 实例研究:利用二维数组的类gradebook273 7.11 c++标准库类模板vector的介绍279 7.12 本章小结283 第8章 指针和基于指针的字符串298 8.1 简介299 8.2 指针变量的声明和初始化299 8.3 指针运算符300 8.4 用指针通过按引用传递方式将参数传递给函数302 8.5 用const修饰指针306 8.6 用按引用传递方式实现的选择排序311 8.7 sizeof运算符314 8.8 指针表达式和指针算术运算316 8.9 指针和数组之间的联系318 8.10 指针数组322 8.11 实例研究:洗牌和发牌的模拟程序322 8.12 函数指针327 8.13 基于指针的字符串处理概述332 8.14 本章小结340 第9章 类的深入剖析(第i部分)363 9.1 简介364 9.2 time类实例研究364 9.3 类的作用域和类成员的访问370 9.4 接口与实现的分离371 9.5 访问函数和工具函数372 9.6 time类实例研究:默认实参的构造函数374 9.7 析构函数379 9.8 何时调用构造函数和析构函数379 9.9 time 类实例研究:一个微妙的陷阱—返回对private数据成员的引用382 9.10 默认的逐个成员赋值384 9.11 软件重用386 9.12 本章小结386 第10章 类的深入剖析(第ii部分)392 10.1 简介393 10.2 const对象和const 成员函数393 10.3 组成:对象作为类的成员401 10.4 friend函数和friend类406 10.5 使用this指针409 10.6 使用new和delete运算符进行内存的动态管理414 10.7 static类成员415 10.8 数据抽象和信息隐藏420 10.9 容器类和迭代器422 10.10 代理类422 10.11 本章小结425 第11章 运算符重载:字符串和数组对象431 11.1 简介432 11.2 运算符重载的基础知识432 11.3 运算符重载的限制433 11.4 作为类成员函数和全局函数的运算符函数之比较434 11.5 重载流插入运算符和流提取运算符435 11.6 重载一元运算符438 11.7 重载二元运算符439 11.8 实例研究:array类439 11.9 类型转换449 11.10 实例研究:string类450 11.11 重载++和--运算符460 11.12 实例研究:date类461 11.13 标准库中的string类465 11.14 explicit构造函数468 11.15 本章小结471 第12章 面向对象编程:继承482 12.1 简介482 12.2 基类和派生类483 12.3 protected成员485 12.4 基类和派生类之间的关系486 12.5 派生类中的构造函数和析构函数510 12.6 public、protected和private继承516 12.7 关于继承的软件工程517 12.8 本章小结518 第13章 面向对象编程:多态性523 13.1 简介524 13.2 多态性实例525 13.3 类继承层次中对象之间的关系526 13.4 类型域和switch语句540 13.5 抽象类和纯virtual函数541 13.6 实例研究:应用多态性的工资发放系统542 13.7 (选学)多态性、virtual函数和动态绑定的底层实现机制556 13.8 实例研究:应用向下强制类型转换、dynamic_cast、typeid和type_info并使用多态性和运行时类型信息的工资发放系统559 13.9 virtual析构函数562 13.10 本章小结563 附录a运算符的优先级与结合律568 附录bascii字符集570 附录c基本数据类型571 附录d计数系统572 附录e因特网和万维网上的c++资源583 附录f使用visual studio .net调试器587 附录g使用gnu c++ 调试器600 参考文献615 索引621 |
商品评论(0条)