作品简介

C++是一种高效实用的程序设计语言,它既可进行过程化程序设计,也可进行面向对象程序设计,因而成为编程人员最广泛使用的工具。学好C++,再学习其他软件就很容易,C++架起了通向强大、易用、真正的软件开发应用的桥梁。本书共分两大部分:第一部分包括第1章~第10章,是基础部分,主要介绍C++程序设计语言、程序结构和过程化基础;第二部分包括第11章~第21章,是面向对象程序设计部分,它建立在C++程序设计基础之上,讲述了面向对象程序设计方法。

钱能,杭州人,毕业于复旦大学软件专业,现为浙江工业大学教授。曾获电子工业部优秀科技青年称号,曾担任校ACM/ICPC参赛培训总教练,指导学生屡获佳绩,从事C++教学25年,多次被评为优秀教师、教学名师。其《C++程序设计教程》曾先后获教育部优秀教材奖、精品教材、十一五规划教材、十二五规划教材,销量超过65万册,被400多所高校用作教材。

作品目录

  • 内容简介
  • 第3版前言
  • 附表1 C++视频对应表——过程化编程
  • 附表2 C++视频对应表——面向对象编程
  • 第一部分 C++过程化语言基础
  • 第1章 C++入门
  • 1.1 从C到C++
  • 1.2 程序与语言
  • 1.3 结构化程序设计
  • 1.4 面向对象程序设计
  • 1.5 程序开发过程
  • 1.6 最简单的程序
  • 1.7 函数
  • 小结
  • 第2章 基本数据类型与输入/输出
  • 2.1 字符集与保留字
  • 2.2 基本数据类型
  • 2.3 变量定义
  • 2.4 字面量
  • 2.5 常量
  • 2.6 I/O流控制
  • 2.7 printf与scanf
  • 小结
  • 练习
  • 第3章 表达式和语句
  • 3.1 表达式
  • 3.2 算术运算和赋值
  • 3.3 算术类型转换
  • 3.4 增量和减量
  • 3.5 关系与逻辑运算
  • 3.6 if语句
  • 3.7 条件运算符
  • 3.8 逗号表达式
  • 3.9 求值次序与副作用
  • 小结
  • 练习
  • 第4章 过程化语句
  • 4.1 while语句
  • 4.2 do…while语句
  • 4.3 for语句
  • 4.4 switch语句
  • 4.5 转向语句
  • 4.6 过程应用:求π
  • 4.7 过程应用:判明素数
  • 4.8 过程应用:求积分
  • 小结
  • 练习
  • 第5章 函数
  • 5.1 函数概述
  • 5.2 函数原型
  • 5.3 全局变量与局部变量
  • 5.4 函数调用机制
  • 5.5 静态局部变量
  • 5.6 递归函数
  • 5.7 内联函数
  • 5.8 重载函数
  • 5.9 默认参数的函数
  • 小结
  • 练习
  • 第6章 程序结构
  • 6.1 外部存储类型
  • 6.2 静态存储类型
  • 6.3 作用域
  • 6.4 可见性
  • 6.5 生命期
  • 6.6 头文件
  • 6.7 多文件结构
  • 6.8 编译预处理
  • 小结
  • 练习
  • 第7章 数组
  • 7.1 数组的概念
  • 7.2 访问数组元素
  • 7.3 初始化数组
  • 7.4 向函数传递数组
  • 7.5 二维数组
  • 7.6 数组应用:排序
  • 7.7 数组应用:Josephus问题
  • 7.8 数组应用:矩阵乘法
  • 小结
  • 练习
  • 第8章 指针
  • 8.1 指针的概念
  • 8.2 指针运算
  • 8.3 指针与数组
  • 8.4 堆内存分配
  • 8.5 const指针
  • 8.6 指针与函数
  • 8.7 字符指针
  • 8.8 指针数组
  • 8.9 命令行参数
  • 8.10 函数指针
  • 小结
  • 练习
  • 第9章 引用
  • 9.1 引用的概念
  • 9.2 引用的操作
  • 9.3 什么能被引用
  • 9.4 用引用传递函数参数
  • 9.5 返回多个值
  • 9.6 用引用返回值
  • 9.7 函数调用作为左值
  • 9.8 用const限定引用
  • 9.9 返回堆中变量的引用
  • 小结
  • 练习
  • 第10章 结构
  • 10.1 结构概述
  • 10.2 结构与指针
  • 10.3 结构与数组
  • 10.4 传递结构参数
  • 10.5 返回结构
  • 10.6 链表结构
  • 10.7 创建与遍历链表
  • 10.8 删除链表结点
  • 10.9 插入链表结点
  • 10.10 结构应用:Josephus问题
  • 小结
  • 练习
  • 第二部分 面向对象程序设计
  • 第11章 类
  • 11.1 从结构到类
  • 11.2 软件方法的发展
  • 11.3 定义成员函数
  • 11.4 调用成员函数
  • 11.5 保护成员
  • 11.6 屏蔽类的内部实现
  • 11.7 名字识别
  • 11.8 再论程序结构
  • 小结
  • 练习
  • 第12章 构造函数
  • 12.1 类与对象
  • 12.2 构造函数的必要性
  • 12.3 构造函数的使用
  • 12.4 析构函数
  • 12.5 带参数的构造函数
  • 12.6 重载构造函数
  • 12.7 默认构造函数
  • 12.8 类成员初始化的困惑
  • 12.9 构造类成员
  • 12.10 构造对象的顺序
  • 小结
  • 练习
  • 第13章 面向对象程序设计
  • 13.1 抽象
  • 13.2 分类
  • 13.3 设计和效率
  • 13.4 讨论Josephus问题
  • 13.5 结构化方法
  • 13.6 结构化方法的实现
  • 13.7 面向对象方法
  • 13.8 面向对象方法的实现
  • 13.9 程序维护
  • 小结
  • 练习
  • 第14章 堆与拷贝构造函数
  • 14.1 关于堆
  • 14.2 需要new和delete的原因
  • 14.3 分配堆对象
  • 14.4 拷贝构造函数
  • 14.5 默认拷贝构造函数
  • 14.6 浅拷贝与深拷贝
  • 14.7 临时对象
  • 14.8 无名对象
  • 14.9 构造函数用于类型转换
  • 小结
  • 练习
  • 第15章 静态成员与友元
  • 15.1 静态成员的必要性
  • 15.2 静态成员的使用
  • 15.3 静态数据成员
  • 15.4 静态成员函数
  • 15.5 需要友元的原因
  • 15.6 友元的使用
  • 小结
  • 练习
  • 第16章 继承
  • 16.1 继承的概念
  • 16.2 继承的工作方式
  • 16.3 派生类的构造
  • 16.4 继承方式
  • 16.5 继承与组合
  • 16.6 多继承如何工作
  • 16.7 多继承的模糊性
  • 16.8 虚拟继承
  • 16.9 多继承的构造顺序
  • 小结
  • 练习
  • 第17章 多态
  • 17.1 多态性
  • 17.2 多态的思考方式
  • 17.3 多态性如何工作
  • 17.4 不恰当的虚函数
  • 17.5 虚函数的限制
  • 17.6 继承设计问题
  • 17.7 抽象类与纯虚函数
  • 17.8 抽象类派生具体类
  • 17.9 多态的目的
  • 小结
  • 练习
  • 第18章 运算符重载
  • 18.1 运算符重载的需要性
  • 18.2 如何重载运算符
  • 18.3 值返回与引用返回
  • 18.4 运算符作成员函数
  • 18.5 重载增量运算符
  • 18.6 转换运算符
  • 18.7 赋值运算符
  • 小结
  • 练习
  • 第19章 I/O
  • 19.1 printf和scanf的缺陷
  • 19.2 I/O标准流类
  • 19.3 文件流类
  • 19.4 C字串流类
  • 19.5 控制符
  • 19.6 使用I/O成员函数
  • 19.7 重载插入运算符
  • 19.8 插入运算符与虚函数
  • 19.9 文件操作
  • 小结
  • 练习
  • 第20章 模板
  • 20.1 模板的概念
  • 20.2 为什么要用模板
  • 20.3 函数模板
  • 20.4 重载模板函数
  • 20.5 类模板的定义
  • 20.6 使用类模板
  • 20.7 使用标准模板类库:Josephus问题
  • 小结
  • 练习
  • 第21章 异常处理
  • 21.1 异常的概念
  • 21.2 异常的基本思想
  • 21.3 异常的实现
  • 21.4 异常的规则
  • 21.5 多路捕获
  • 21.6 异常处理机制
  • 21.7 使用异常的方法
  • 小结
  • 练习
  • 参考文献
  • 图书资源支持
展开全部