编辑推荐
《新标准C++程序设计/北京大学“程序设计与算法”专项课程系列教材》特色:
本书为北京大学“程序设计与算法”专项课程系列教材之一。教材内容与MOOC课程同步。
本书紧扣新的C++11标准,全面讲述C++面向对象的各种特性,覆盖标准模板库90%以上的内容,读者通过本书可较全面掌握C++程序设计的精髓。
本书作者具有丰富的C++教学经验和数十万行商业软件开发经验,书中所有样例程序均由作者精心设计,程序风格优美,贴近编程实践。
内容简介
《新标准C++程序设计/北京大学“程序设计与算法”专项课程系列教材》是北京大学“程序设计与算法”专项课程系列教材之一。
《新标准C++程序设计/北京大学“程序设计与算法”专项课程系列教材》面向掌握C语言后希望继续学习C++面向对象编程的读者,不包含C++语言中与C语言相同的部分。除了讲授C++面向对象的各种特性外,还强调泛型程序设计的方法以及标准模板库STL的应用。作者有多年高校教学经验,写作时就已经将容易使学生困惑的问题的解答融入其中,用简练的语言直指问题的重点、难点和本质。作者曾开发多款成功的商业软件,因此本书对语言特性的讲解与实践紧密结合,程序实例丰富实用,风格优美。程序员与教师兼具的写作视角,造就了本书的与众不同。书名中的“新标准”有两层含义:一是指本书的所有讲述和程序都严格遵循C++新标准;二是指读者通过本书的学习,对C++语言的掌握程度能够达到专业程序员的高标准。
《新标准C++程序设计/北京大学“程序设计与算法”专项课程系列教材》可作为高等学校计算机及相关专业C++程序设计课程的教材,也可供对C++程序设计感兴趣的读者自学使用。
作者简介
郭炜,本科毕业于中国科学技术大学计算机系,硕士毕业于北京大学计算机科学技术系,现为北京大学信息科学技术学院教师。担任北京大学ACM国际大学生程序设计竞赛队教练12年,从2008年至今,为ACM国际大学生程序设计竞赛亚洲区赛站命题十余场。北京角斗士软件技术有限公司创始人,开发《我爱背单词》等多款成功的商业软件。兼具丰富的教学经验和软件开发实践经验。
内页插图
目录
第一篇 面向对象的程序设计
第1章 从C到C++
1.1 C++语言的历史
1.2 输入输出
1.3 头文件
1.4 强制类型转换运算符的新形式
1.5 函数参数的默认值
1.6 引用和函数参数的传递
1.7 内联函数
1.8 函数的重载
1.9 指针和动态内存分配
1.1 0用string对象处理字符串
小结
习题
第2章 类和对象初步
2.1 结构化程序设计的不足
2.2 面向对象程序设计的概念和特点
2.3 类的定义和使用
2.4 类的示例程序剖析
2.5 访问对象的成员
2.6 类成员的可访问范围
小结
习题
第3章 类和对象进阶
3.1 构造函数
3.2 析构函数
3.3 构造函数、析构函数和变量的生存期
3.4 静态成员变量和静态成员函数
3.5 常量对象和常量成员函数
3.6 成员对象和封闭类
3.7 const成员和引用成员
3.8 友元
3.9 this指针
3.1 0在多个文件中使用类
小结
习题
第4章 运算符重载
4.1 运算符重载的概念和原理
4.2 重载赋值运算符“=”
4.3 浅拷贝和深拷贝
4.4 运算符重载为友元函数
4.5 实例:长度可变的整型数组类
4.6 重载流插入运算符和流提取运算符
4.7 重载类型强制转换运算符
4.8 重载自增、自减运算符
4.9 运算符重载的注意事项
小结
习题
第5章 继承与派生
5.1 继承和派生的概念
5.2 正确处理类的复合关系和继承关系
5.3 pmtected访问范围说明符
5.4 派生类的构造函数和析构函数
5.5 多层次的派生
5.6 包含成员对象的派生类
5.7 公有派生的赋值兼容规则
5.8 基类与派生类指针的互相转换
5.9 私有派生和保护派生
5.10 派生类和赋值运算符
小结
习题
第6章 多态与虚函数
6.1 多态的基本概念
6.2 多态的作用
6.3 多态的实现原理
6.4 关于多态的注意事项
6.5 虚析构函数
6.6 纯虚函数和抽象类
小结
习题
第7章 输入输出流
7.1 流类
7.2 标准流对象
7.3 使用流操纵算子控制输出格式
7.4 调用cout的成员函数
7.5 cin的高级用法
小结
习题
第8章 文件操作
8.1 文件的概念
8.2 C++文件流类
8.3 文件的打开和关闭
8.4 文件的读写
8.5 文本方式打开文件与二进制方式打开文件的区别
小结
习题
第二篇 泛型程序设计
第9章 泛型程序设计与模板
9.1 函数模板
9.2 类模板
9.3 类模板中的非类型参数
9.4 类模板与继承
9.5 类模板和友元
9.6 类模板中的静态成员
9.7 在多个文件中使用模板
小结
习题
第10章 标准模板库STL
10.1 STL中的基本概念
10.2 顺序容器
10.3 函数对象
10.4 关联容器
10.5 容器适配器
10.6 STL算法分类
10.7 不变序列算法
10.8 变值算法
10.9 删除算法
10.10 变序算法
10.11 排序算法
10.12 有序区间算法
10.13 string类详解
10.14 bitset对象
小结
习题
第三篇 C++高级主题
第11章 C++高级主题
11.1 static-cast、reinterpret-cast、const-cast和dynamic-cast
11.2 C++异常处理
11.3 C++11新特性概要
小结
习题
附录:魔兽世界大作业
参考文献
前言/序言
一、本书的写作背景
C++功能强大、运用广泛,许多高校都将其作为入门的程序设计语言进行教学。作者在北京大学信息科学技术学院讲授C++程序设计课程已有14年,随着时间的推移,渐渐觉得现有的教材已经不能满足教学的需要,于是萌生了自己编写一本C++教材的想法。
C++有两大特点:支持面向对象的程序设计和支持泛型程序设计。然而,现有的大部分教材往往对“泛型程序设计”这部分内容基本不做介绍,或只是略作交代。这导致许多学过或准备学C++的学生有如下印象:C++是为了编写大型程序而设计的,如果编写一个只有十几行或几十行的小程序,没有必要用C++,用C语言就足够了。实际上,编写规模很小的程序用面向对象的设计方法确无必要,但不等于用C++没必要。C++中的标准模板库(STL)是泛型程序设计的最成功应用,其中包含许多常用的数据结构(如动态数组、栈等)和算法(如排序、二分查找等),STL即便应用于只有十几行代码的程序中,也能有效地提高编程效率。对于熟练的C++程序员来说,编写只有十几行代码的程序多半不会考虑使用面向对象的设计方法,但会很自然地用到STL。C++标准委员会成员AndrewKoenig有句名言:“库设计就是语言设计,语言设计就是库设计”。学了C++语言,却不会用该语言的核心库STL,对于计算机专业的学生来说,这样的教学很难说是成功的。
国内大多数的C++教材对泛型程序设计和STL讲述甚少,国外虽有几部经典教材,全面覆盖了C++的两大特点,但又都卷帙浩繁,动辄近千页,不适合初学者。为了解决这个矛盾,作者编写了本书。本书篇幅适中,全面讲述C++面向对象的各种特性,此外还覆盖标准模板库90%以上的内容。初学者通过对本书的学习,可以比较全面地掌握C++程序设计语言的精髓。
新标准C++程序设计/北京大学“程序设计与算法”专项课程系列教材 [Fundamentals of Programming and Algorithms] 下载 mobi epub pdf txt 电子书 格式
新标准C++程序设计/北京大学“程序设计与算法”专项课程系列教材 [Fundamentals of Programming and Algorithms] 下载 mobi pdf epub txt 电子书 格式 2024
新标准C++程序设计/北京大学“程序设计与算法”专项课程系列教材 [Fundamentals of Programming and Algorithms] mobi epub pdf txt 电子书 格式下载 2024