从新手到高手C++全方位学习
正版,一版一印,仅印3000册,无笔迹,
¥
100
八五品
仅1件
作者范磊 著
出版社科学出版社
出版时间2009-09
版次1
装帧平装
货号E-2619
上书时间2019-06-02
商品详情
- 品相描述:八五品
-
封面反有水印,书边有水印,一个名字,内容无问题
图书标准信息
-
作者
范磊 著
-
出版社
科学出版社
-
出版时间
2009-09
-
版次
1
-
ISBN
9787030247063
-
定价
98.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
840页
-
字数
160千字
-
正文语种
简体中文
- 【内容简介】
-
《从新手到高手C++全方位学习》总结了十几本C++图书及教材的优点,摈弃了它们语言拖沓、层次结构混乱等缺陷,从零开始、由浅入深、层层递进、细致而又详尽地讲解C++这门大型编程语言。《从新手到高手C++全方位学习》知识系统全面,拥有字典般的容量,可随用随查,涵盖指针、面向对象、操作符重载、流、命名空问、模板、异常处理、宏等主流C++开发技术。为了使读者能够活学活用,《从新手到高手C++全方位学习》针对重要的概念精心设计了438个实用范例,囊括大量经验和技巧,即使已从事C++工作多年的朋友,也能从中汲取新的养料。《从新手到高手C++全方位学习》适合于从未学习过任何编程语言的新手,以及学习C++多年,仍旧不能融会贯通的读者,对于正在使用C++进行开发的程序员也有很好的参考价值。
- 【目录】
-
第1章初识C++
1.1C++简介
1.2C++与C的区别
1.3学习C++之前需要先学C吗
1.4C++与其他语言的区别
1.5C++的版本以及安装问题
第2章做一个最简短的C++程序
2.1简单的屏幕输出小程序
2.2输出语句的使用
2.3std::介绍
2.4iostream与iostream.h的区别
2.5重名问题
2.6注释
第3章初步了解函数
3.1一个简单的函数
3.2函数的传参
3.3函数的返回值.参数与变量
3.4函数的声明与定义
3.5局部变量
3.6全局变量
第4章C++数据类型
4.1变量的定义
4.2将变量及数据存储在内存中
4.3布尔型变量
4.4字符型变量
4.5wchar_t双字节型变量
4.6整型概述
4.7整型变量的定义
4.8浮点型变量
4.9常量
4.10枚举型常量
第5章if语句与逻辑运算符
5.1语句的定义
5.2块的定义
5.3表达式的定义
5.4运算符的定义
5.4.1赋值运算符的定义
5.4.2数学运算符的定义
5.4.3赋值运算符与数学运算符的联合
5.5自加与自减
5.5.1前置
5.5.2后置
5.6表达式的优先级
5.7关系运算符
5.8if语句
5.8.1else语句
5.8.2elseif语句
5.8.3if语句的嵌套
5.9逻辑运算符及其使用
5.9.1逻辑“与”
5.9.2逻辑“或”
5.9.3逻辑“非”
5.9.4逻辑运算符的优先级
5.9.5运算式的真假关系
5.10三目运算符
5.10.1三目运算符的优先问题
5.10.2三目运算符的使用问题
5.10.3三目运算符的型别问题
5.10.4三目运算符在字符型变量中的使用
5.11复杂嵌套的if语句
第6章面向对象
6.1面向对象程序语言的主要特征
6.2类.对象和成员
6.3类.对象和成员的使用方法及区别
6.3.1声明一个类
6.3.2命名习惯
6.3.3定义一个对象
6.3.4类与对象的区别
6.3.5对象与成员的关系
6.3.6不要给类赋值
6.3.7对象只能调用类中存在的成员
6.4公有
6.5私有
6.6成员函数的声明和定义
6.7为什么将成员函数的声明和定义分开
6.7.1普通内联函数
6.7.2成员内联函数
6.8将类声明和定义部分保存在头文件中
6.9const成员函数
6.10构造函数
6.11默认构造函数
6.12析构函数
6.13析构对象数组
第7章循环语句
7.1循环语句的前身——goto语句
7.2慎用goto语句
7.3while语句
7.3.1带运算符的while语句
7.3.2以字符为条件的while语句
7.3.3限定while循环的次数
7.3.4continue语句
7.3.5break语句
7.3.6永不休止的while循环
7.4do…while循环
7.5for循环
7.5.1灵活的for循环
7.5.2条件为空的for循环
7.5.3执行为空的for循环
7.5.4嵌套的for循环
7.6switch语句
7.6.1switch语句常见错误
7.6.2switch的菜单功能
7.7总结
第8章指针
8.1什么是地址
8.2用指针来保存地址
8.2.1空指针
8.2.2指针与变量类型
8.2.3用指针来访问值
8.2.4指针地址.指针保存的地址和该地址的值
8.2.5指针对数值的操作
8.2.6更换指针保存的地址
8.3为什么使用指针
8.3.1栈和堆
8.3.2用指针创建堆中空间
8.3.3用指针删除堆中空间
8.4动态内存
8.4.1内存泄漏
8.4.2在堆中创建对象
8.4.3在堆中删除对象
8.4.4访问堆中的数据成员
8.4.5在构造函数中开辟内存空间
8.4.6对象在栈与堆中的不同
8.5this指针
8.6指针的常见错误
8.7指针运算
8.7.1指针的加减运算
8.7.2指针的赋值运算
8.7.3指针的相减运算
8.7.4指针的比较运算
8.8指针
8.8.1常量指针
8.8.2指向常量的指针
8.8.3指向常量的常指针
8.9总结
第9章引用
9.1什么是引用
9.1.1引用的地址
9.1.2引用就是别名常量
9.1.3引用对象
9.1.4空引用
9.2函数的参数传递
9.2.1通过值来传递函数参数
9.2.2通过指针来传递函数参数
9.2.3通过引用来传递函数参数
9.2.4让函数返回多个值
9.3传递对象
9.3.1用值来传递对象
9.3.2使用指针来传递对象
9.3.3使用const指针来传递对象
9.3.4使用引用来传递对象
9.3.5到底是使用引用还是指针
9.3.6引用和指针可以一块用
9.4引用应注意的问题
9.4.1引用容易犯的错误
9.4.2引用一个按值返回的堆中对象
9.4.3引用一个按别名返回的堆中对象
9.4.4在哪里创建,就在哪里释放
9.5总结
第10章深入函数
10.1函数重载
10.1.1普通函数的重载
10.1.2成员函数的重载
10.2函数的默认参数
10.3重载构造函数
10.3.1成员变量的初始化
10.3.2成员变量的初始化与构造函数
10.3.3复制构造函数
10.3.4构造函数和new运算符
10.3.5再谈默认构造函数
10.4析构函数和delete运算符
10.4.1默认析构函数
10.4.2调用构造函数进行类型转换
10.5浅层复制构造函数
10.6深层复制构造函数
第11章运算符重载
11.1运算符重载
11.2在成员函数中实现自加
11.3重载前置自加运算符
11.4创建临时对象
11.5创建无名临时对象
11.6取消创建临时对象
11.7重载后置自加运算符
11.8重载加法运算函数operator+
11.9重载赋值运算函数operator=
11.10转换类型运算符
11.10.1温习调用构造函数实现的类型转换
11.10.2通过构造函数将变量转换为一个对象的成员变量
11.10.3通过operator关键字进行转换
11.11什么可以被重载,什么不可以
第12章继承
12.1什么是继承和派生
12.1.1复杂的继承和派生
12.1.2继承和派生如何在C++中实现
12.1.3继承的种类及语法
12.1.4单一继承
12.2公有型.保护型和私有型
12.3访问权限
12.4多重继承
12.5继承的构造与析构
12.6向基类构造函数传递参数
12.7继承和重载的两义性问题
12.7.1多重继承容易产生两义性
12.7.2两义性在重载时的一些问题
12.7.3两义性的归属问题
12.7.4减少两义性产生的混淆问题
12.7.5虚基类不会产生两义性
12.8总结
第13章虚函数
13.1指向对象的指针
13.2虚函数
13.3拳击游戏
13.4继承是否可以实现多态性
13.5在编译时的静态联编
13.6在运行时的静态联编
13.7在编译时的动态联编
13.8在运行时的动态联编
13.9调用虚函数
13.9.1在虚函数中调用成员函数
13.9.2三种调用虚函数的方式比较
13.10被继承的虚函数仍然是虚函数
13.11系统是如何调用虚函数的
13.12在虚函数中使用成员名限定
13.13虚析构函数
第14章数组
14.1数组的基本用法
14.1.1什么是数组
14.1.2数组元素
14.1.3数组下标越界
14.1.4倒序输出
14.1.5将数组的下标定义为常量
14.1.6手动操作数组元素
14.1.7数组的初始化
14.2数组的用途
14.2.1求平均考试成绩
14.2.2兔子繁殖问题
14.2.3数字排序问题
14.3数组在内存中的分布
14.4输出数组名
14.5数组名与函数
14.6传递与接收
14.7数组与函数
14.7.1函数传参实例一——求数组所有元素的和
14.7.2函数传参实例二——用递增法查找数据
14.7.3函数传参实例三——用二分法查找数据
14.7.4函数传参实例四——判断数组是否按照顺序排列
14.7.5函数传参实例五——判断数组排列方式后执行不同的函数
14.8数组在对象中的传参
14.9数组对象
14.10在数组对象中初始化成员变量
14.11指针数组
14.12枚举常量与数组..
14.13多维数组
14.14多维数组的初始化
14.15字符数组
14.16重载数组下标操作符
第15章链表
15.1声明链表结构
15.2简单的图书链表
15.2.1图书链表
15.2.2类的链表
15.3动态链表
15.3.1动态链表的建立
15.3.2解决输入字符造成死循环的问题
15.3.3动态链表的显示
15.3.4动态链表的删除
15.3.5动态链表的插入
15.3.6链表统计
15.3.7使用链表
15.4完整的动态链表清单
15.5链表使用案例——走迷宫
15.5.1创建Windows应用程序项目
15.5.2创建窗口
15.5.3加载图片
15.5.4句柄是什么
15.5.5显示图片
15.5.6动画
15.5.7键盘控制人物移动
15.5.8迷宫墙壁
15.5.9走迷宫
15.5.10用链表记录行走路线
第16章多态性
16.1为什么要使用多重继承
16.2在派生类中增加函数
16.3使用多重继承
16.4多重继承中初始化构造函数的参数
16.5多个子基类共享一个父基类
16.6虚基类
16.7慎用多重继承
16.8空的虚函数
16.9抽象类和纯虚函数
16.10纯虚函数
16.11复杂的抽象结构
第17章类的特殊成员
17.1静态成员变量
17.2私有静态成员变量
17.3静态成员函数
17.4静态成员的使用
17.5函数指针
17.6函数指针数组
17.7函数指针也可以作为函数的参数
17.8使用typedef简化函数指针的声明及定义
17.9类的函数指针
17.10成员函数指针数组
第18章字符串
18.1char型字符串
18.2string型字符串
18.2.1string型字符串的赋值
18.2.2string型字符串的合并
18.2.3string型字符串的部分合并
18.2.4string型字符串的替换
18.2.5string型字符串的复制
18.2.6string型字符串的插入
18.2.7string型字符串的删除
18.2.8string型字符串的查找
18.2.9string型字符串的比较
18.2.10判断string型字符串是否为空
18.3字符串的使用
18.3.1swap()交换两个字符串的内容
18.3.2将string型字符串转为char型字符串
18.3.3char型字符串与函数
18.3.4函数如何返回字符串
18.4结构体
18.4.1结构体的赋值
18.4.2结构体与函数
18.4.3结构体与string
18.5string数组与函数
18.6流的使用
18.6.1重载输出运算符<<
18.6.2友元的方式重载输出运算符
18.6.3重载自加运算符的执行次序
18.6.4重载输入运算符>>
18.7编写一个String类
18.7.1创建String类
18.7.2创建可自动调节大小的String类字符串对象
18.7.3限制数组越界
18.7.4用复制构造函数实现字符串的赋值功能
18.7.5用重载赋值运算符函数实现真正的字符串赋值功能
18.7.6用重载输出运算符operator<<()函数实现字符串的输出
18.7.7用重载输入运算符operator>>()函数实现字符串的输入
18.7.8用重载比较运算符实现字符串的比较
18.7.9为String类添加字符串的相加功能
18.7.10为String类添加字符串的+=功能
18.7.11完成后的String类
第19章代码重用
19.1包含
19.2将String类作为包含类
19.3为book类重载执行相加运算的成员函数
19.4包含对系统造成的消耗
19.5按别名传递book对象
19.6包含指向另一个类的指针
19.6.1数据类Date
19.6.2链表类Node
19.6.3标签类linkelist
19.6.4头节点类HeadNode
19.6.5尾节点TailNode类
19.6.6中间节点InterNode类
19.6.7InterNode类的构造函数
19.6.8InterNode类的插入函数
19.6.9全部程序
19.7将头节点.中间节点和尾节点合并为一个节点
19.7.1数据类Date
19.7.2由Date类派生的图书类Book
19.7.3由Date类派生的药品类medica
19.7.4创建一个节点类Node
19.7.5用来操作节点类Node的list类
19.7.6list类的getfirst()方法
19.7.7list类的operator[]方法
19.7.8list类的repeat()方法
19.7.9list类的insert()方法
19.7.10list类的find()方法
19.7.11重写的药品管理全部程序
19.8利用类的包含来实现代码重用
19.9私有继承
19.10什么时候使用私有继承,什么时候使用包含
19.11保护继承
第20章友元类与嵌套类
20.1友元类
20.2嵌套类
第21章流
21.1流的操作
21.1.1缓冲
21.1.2流和缓冲区
21.1.3标准输入输出对象
21.1.4重定向
21.1.5对象代表流
21.2用cout输出
21.2.1重载运算符operator<<
21.2.2清理缓冲区
21.2.3有关输出的相关函数
21.2.4设置输出的字段宽度
21.2.5设置填充字段
21.2.6设置浮点数的显示精度
21.2.7输出末尾的0
21.2.8设置标志
21.2.9setf()函数原型
21.2.10所有15个标志以及3个指示标志
21.2.11unset()函数
21.2.12标准控制符
21.2.13iomanip头文件与标准控制符
21.3用cin输入
21.3.1字符串的输入
21.3.2字符串的输入问题
21.3.3get()函数
21.3.4带字符引用参数的get()函数
21.3.5带2个参数的get()函数
21.3.6带3个参数的get()函数
21.3.7getline()函数
21.3.8read()函数
21.3.9gcount()函数
21.3.10peek()函数
21.3.11putback()函数
21.4文件的输入和输出
21.4.1输出数据到文件
21.4.2读取文件中的数据
21.4.3读取空格及空格后面的字符
21.5多种打开文件的方式
21.6检查文件是否打开
21.7二进制文件和文本文件
21.7.1以文本形式输出到文件
21.7.2以二进制形式输出到文件
21.8打开多个文件
21.9命令行处理文件
21.10使用命令行处理文件例程
21.11指定读取文件中的数据
21.12输出数据到文件指定位置处
21.13seekp()和seekg()函数的结合使用
21.14临时文件
21.15sstream字符串输入输出流类
第22章命名空间
22.1什么是命名空间
22.2创建命名空间
22.2.1扩充命名空间的内容
22.2.2尽量在命名空间之外定义函数
22.2.3命名空间中的成员都是公有的
22.3使用命名空间
22.4使用关键字using
22.5为你的命名空间取个别名
22.6未命名的命名空间
22.6.1未命名命名空间与全局变量的区别
22.6.2未命名命名空间与static的区别
22.6.3未命名命名空间.static与extern的区别
22.7标准命名空间std
第23章模板
23.1什么是模板
23.2重载模板
23.3具体化函数模板
23.3.1函数模板不能重载
23.3.2具体化函数模板解决重载问题
23.3.3具体化函数模板与实例化模板函数
23.4普通函数.函数模板与具体化函数模板的优先级
23.4.1普通函数和函数模板的执行次序
23.4.2函数模板与具体化函数模板的执行次序
23.4.3具体化函数模板与普通函数的优先级
23.5函数模板的匹配
23.6类模板的定义
23.7复杂类模板
23.8数组模板
23.9对象数组模板
23.10具有多个参数的模板
23.11为模板参数提供默认值
23.12约束模板
23.13模板成员
23.14将模板用作参数
23.15模板和友元
23.15.1非模板友元类和友元函数
23.15.2通用模板友元类和友元函数
23.15.3特定类型模板友元函数
23.16多余的临时对象
23.17静态成员和模板
23.18标准模板库
23.18.1容器
23.18.2顺序容器
23.18.3关联容器
23.18.4算法类
23.18.5总结
第24章异常和错误处理
24.1异常
24.2设置多条catch语句
24.3异常的派生
24.4创建异常类的成员函数
24.5异常类的虚函数
24.6异常类与模板的关系
第25章补充内容
25.1预处理过程
25.1.1预处理指令
25.1.2#include指令
25.1.3#define指令
25.1.4用#define指令替换常量
25.1.5用#define定义一个特定字符串并对其进行测试
25.1.6#ifdef.#define和#endif的用途
25.1.7带参数的#define
25.1.8宏与内联函数
25.1.9#运算符
25.1.10##运算符
25.1.11#undef指令
25.1.12#if指令
25.1.13#endif指令
25.1.14#ifdefined指令
25.1.15#ifdef和#ifndef指令
25.1.16#elif指令
25.1.17#error指令
25.1.18#line指令
25.1.19#pragma指令
25.2预定义的宏
25.3assert()宏
25.4尝试编写一个简单的assert()宏
25.5不能为0的变量
25.6用宏函数来输出表达式的值
25.7调试的级别
25.8C++类型转换及运行时类型信息(RTII)
25.8.1动态类型转换符
25.8.2静态类型转换
25.8.3重新解释类型转换
25.8.4常类型转换
25.8.5运行时类型信息
25.9关键字volatile
25.10关键字const
25.11关键字mutable
25.12联合数据类型union
25.13联合数据类型的内存占用
25.14匿名联合体
25.15再谈指针
25.15.1指针与数组
25.15.2指针操作多维数组
25.15.3指向多维数组的指针作为函数参数
25.15.4字符串的指针
25.15.5接受字符串指针的函数
25.15.6指向字符串的指针变量与字符数组的区别
25.15.7指向函数的指针
25.15.8指向函数的指针的用途
25.15.9指针数组
25.15.10指向指针的指针
25.16位运算
25.16.1按位与“&”运算符
25.16.2按位或“|”运算符
25.16.3异或“^”运算符
25.16.4取反“~”运算符
25.16.5左移“<<”运算符
25.16.6右移“>>”运算符
25.16.7复合位运算符
25.16.8不同长度数字的位运算
25.16.9位运算的实例
25.17位字段
25.18区域差异
25.18.1locale类
25.18.2默认区域表示或全局区域表示
25.18.3时间与地理设置
25.18.4locale与time.h中时间函数的搭配使用
25.18.5区域表示locale与流的搭配使用
25.18.6区域表示locale与模板的搭配使用
附录AASCII码对照表
附录BC++的关键字
附录CC++常用头文件列表
点击展开
点击收起
— 没有更多了 —
封面反有水印,书边有水印,一个名字,内容无问题
以下为对购买帮助不大的评价