代码改变世界

白话C++系列教程

2016-04-08 21:45  Keiven_LY  阅读(10562)  评论(0编辑  收藏  举报

该系列文档是#慕课网#中《C++远征》系列视频的直录,我只是将讲解老师的原话写成文字而已。

这样做的目的有两个:

一是,james_yuan老师的讲课方式我很喜欢,绘声绘色、形象生动、通熟易懂

二是,让自己在学习完这个C++课程后,能够更快的复习与回顾C++相关知识,而不至于很快就忘掉

在此,非常感谢慕课网和james_yuan,奉献出这个精品教程。

 

目录

第一篇  C++远征之起航篇                                                     

第二篇  C++远征之离港篇                                                            

2.1  C++引用类型                                                                         

2.1.1  基本数据类型的引用                                                          

2.1.2  结构体类型的引用                                                                

2.1.3  指针类型的引用                                                                  

2.1.4  引用作为函数参数                                                                

2.2  const关键字                                                            

2.2.1  const与基本数据类型                                                  

2.2.2  const与指针类型                                                               

2.2.3  const与引用                                                                

2.3  C++函数新特性                                                                     

2.3.1  函数参数默认值                                                       

2.3.2  函数重载                                                                          

2.3.3  内联函数                                                                       

2.4  C++内存管理                                                                         

更新于:2016-04-09  21:40:13                                 

第三篇  C++远征之封装篇(上)

3.1  类和对象、类对象定义

3.1.1  引例----狗

3.1.2  引例----电视机

3.1.3  对象的实例化

3.1.4  对象成员的访问

3.1.5  代码实践

3.2   初始字符串类型

3.2.1  string类型

3.2.2  初始化string对象的方式

3.2.3  string的常用操作  

3.2.4  代码实践

3.3  属性封装的艺术

3.3.1  数据的封装

3.3.2  封装的好处

3.3.3  代码实践

更新于: 2016-04-11  21:21:53

3.4  类内定义与类外定义    

3.4.1  类内定义 

3.4.2  类外定义                                                             

3.5  对象的生离死别                                                                                                                     

3.5.1  对象结构                                                                               

3.5.2  对象初始化

3.5.3  构造函数                                                           

3.5.3.1  无參构造函数                                                                            

3.5.3.2  有參构造函数                                                                                                

3.5.4  构造函数代码实践                                                                            

3.5.5  默认构造函数                                                                        

3.5.6  构造函数初始化列表                                                                       

3.5.7  初始化列表代码实践                                                                              

3.5.8  拷贝构造函数                                                        

3.5.9  构造函数小结

3.5.10  析构函数 

3.5.11  对象的生命历程  

3.5.12  析构函数代码实践                                                              

更新于:2016-04-23  22:53:52                                                                       

第四篇    C++远征之封装篇(下)                                                                                                                           

4.1  对象数组与对象成员                                                                               

4.1.1  对象数组                                                                                       

4.1.2  对象数组代码实践  

4.1.3  对象成员

4.1.4  对象成员代码实践 

4.2  深拷贝与浅拷贝

4.2.1  深拷贝与浅拷贝

4.2.2  深浅拷贝代码实践                                                          

更新于:2016-04-24  22:25:25         

4.3  对象指针、对象成员指针    

4.3.1  对象指针

4.3.2  对象指针代码实践  

4.3.3  对象成员指针 

4.3.4  内存中的对象成员指针

4.3.5  对象成员指针代码实践

4.4  this指针                                      

4.5   const重出江湖                                                               

更新于:2016-04-28  22:33:15

4.6  常指针和常引用                                                                     

4.6.1  对象的引用和对象的指针                                                                                     

4.6.2  对象的常引用和常指针                                                                       

更新于: 2016-05-03 22:38:18    

第五篇 C++远征之继承篇                                                       

5.1  为什么要有继承

5.1.1  内存中的对象 

5.1.2  继承代码实践                                                  

更新于: 2016-05-09 20:32:07                                                                           

5.2   继承方式、隐藏                                                                       

5.2.1  继承方式    

5.2.1.1  公有继承

5.2.1.2  保护继承和私有继承

5.2.2  继承中的特殊关系   

5.2.2.1  隐藏

5.2.2.2  隐藏代码实践

更新于: 2016-05-16 22:00:09  

5.3   is-a 

5.3.1  什么是is-a

5.3.2  存储结构    

5.3.3   is-a代码实践                                                      

5.4   多继承和多重继承

5.4.1  多重继承

5.4.2  多继承    

5.4.3  多重继承代码实践

5.4.4  多继承代码实践                                     

更新于: 2016-05-22 22:17:53

5.5  虚继承  

5.5.1  多继承+多重继承的烦扰

5.5.2  虚继承

5.5.3  虚继承编码实践

更新于: 2016-05-29  19:15:23

第六篇 C++远征之多态篇

6.1  多态概述

6.2 虚函数机器实现原理

6.2.1  静态多态(早绑定)

6.2.2  动态多态(晚绑定)

6.3  虚函数代码实践

更新于: 2016-06-01 14:56:04

6.4  虚析构函数

6.5  虚函数和虚析构函数实现原理

6.5.1  函数指针

6.5.2  函数的覆盖与隐藏

6.5.3  虚析构函数的实现原理

6.5.4  虚函数表的代码实践

更新于:  2016-06-06  21:52:32

6.6  纯虚函数和抽象类

6.6.1  纯虚函数的实现原理

6.6.2  纯虚函数和抽象类的代码实践

更新于:  2016-06-13  19:52:57

6.7  接口类

6.7.1  接口类

6.7.2  接口类代码实践

6.8  RTTI:运行时类型识别

6.8.1 RTTI--运行时类型识别

6.8.2  RTTI代码实践

更新于:  2016-06-20  20:48:42

6.9  异常处理

6.9.1  异常处理

6.9.2  异常处理与多态的关系

6.9.3  异常处理代码实践

第七篇  C++远征之模板篇

7.1  友元函数

7.1.1  友元全局函数

7.1.2  友元成员函数

7.1.3  友元函数代码实践

7.2  友元类   

7.2.1  友元类

7.2.2  友元类代码实践

7.3  static

7.3.1  static

7.3.2  static代码实践

更新于:  2016-06-28  21:12:24

7.4  运算符重载

7.4.1  运算符重载

7.4.2  一元运算符重载

7.4.2.1  负号(-)成员函数重载

7.4.2.2  负号(-)友元函数重载

7.4.2.3  ++运算符前置重载

7.4.2.4  ++运算符后置重载

7.4.3  一元运算符重载代码实践

7.4.4  二元运算符重载

7.4.4.1  加号(+)成员函数重载

7.4.4.2  加号(+)友元函数重载

7.4.4.3  输出符号(<<)友元函数重载

7.4.4.4  索引符号([ ])成员函数重载

7.4.5  二元运算符重载代码实践

更新于:  2016-07-03  22:06:36

7.5  函数模板

7.5.1  变量作为模板参数

7.5.2  多参数函数模板

7.5.3  函数模板与重载

7.5.4  函数模板代码实践

7.6  类模板

7.6.1  类模板

7.6.2  类模板代码实践

更新于:  2016-07-05  20:54:29

7.7  C++标准模板库

7.7.1  vector向量

7.7.2  迭代器:iterator

7.7.3  链表:list

7.7.4  映射:map

7.7.5  标准模板库代码实践

更新于:  2016-07-09  22:08:22 

       (完)