C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言[1] 。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。它支持过程化程序设计,数据抽象,面向对象设计,制作图标等多种程序设计风格 1_01 C++简介 1_02 输出语句的使用 1_03 C与C++的区别 1_04 学习C++应该先学C吗? 1_05 C++的版本以及安装问题 2_1简单的屏幕输出小程序 2_2输出语句的使用 2_3 std是什么 2_4 iostream与iostream_h的区别 2_5重名问题 2_6注释 3_1函数演示 3_2函数的传参 3_3 函数的返回值、参数与变量 3_4 函数的声明与定义 3_5 局部变量 3_6 全局变量 4_1 C++数据类型 4_2 什么是变量 4_3 变量及数据如何存储在内存上 4_4 布尔型 4_5 字符型 4_6 双字节型 4_7 整型概述 4_8 为什么使用补码 4_9 整型变量的定义 4_10 浮点型变量 4_11 常量 4_12 枚举型常量 5_01什么是语句 5_02 什么是块 5_03 什么是表达式 5_04 什么是运算符 5_05赋值运算符与数学运算符 5_06 什么是自加与自减 5_07 表达式的优先级 5_08 关系运算符 5_09 if语句 5_10 else语句 5_11else_if语句 5_12 if语句的嵌套 5_13带括号的嵌套语句 5_14逻辑与运算符 5_15逻辑或运算符 5_16逻辑非运算符 5_17逻辑运算符的优先级 5_18运算式的真假关系 5_19三目运算符 5_20三目运算符的优先问题 5_21三目运算符的使用问题 5_22三目运算符的型别问题 5_23三目运算符在字符型变量中的使用 5_24复杂的嵌套if语句 6_01什么是面向对象程序语言 6_02面向对象程序语言主要特征 6_03什么是类、对象和成员 6_04声明一个类 6_05 定义一个对象 6_06定义类或对象容易犯的错误 6_07公有与私有 6_08成员函数的声明和定义 6_9为什么将成员函数的声明和定义分开 6_10将类声明和定义部分存放在头文件中 6_11const成员函数 6_12构造函数 6_13默认构造函数 6_14析构函数 6_16析构对象数组 7_1 循环语句的老祖宗--Goto语句 7_2 while语句 7_3 while语句的其他用法 7_4 continue和break语句 7_5永不休止的while循环 7_6 do… while循环 7_7for循环 7_8灵活的for循环 7_9条件为空的for循环 7_10嵌套的for循环 7_11switch语句 7_12switch语句常见错误 7_13switch的菜单功能 8_1什么是地址 8_2用指针来保存地址 8_3空指针 8_4指针与类型 8_5用指针来访问值 8_6指针地址、指针保存的地址和该地址的值 8_7 指针对数值的操作 8_8更换指针保存的地址 8_9.0 为什么使用指针 8_9.1为什么使用指针 8_9.2为什么使用指针 8_9.3指针与堆 8_9.4为什么使用指针 8_10内存泄露 8_11在堆中创建对象 8_12在堆中删除对象 8_13访问堆中的数据成员 8_14在构造函数中开辟内存空间 8_15对象在栈与堆中的不同 8_16this指针 8_17 指针的常见错误 8_18.1指针的加减运算 8_18.2指针的赋值运算 8_18.3指针的相减运算 8_18指针运算4指针的比较运算 8_19.1常量指针 8_19.2指向常量的指针 8_19.3 指向常量的常指针 9_1什么是引用? 9_2引用的地址 9_3引用就是别名常量 9_4 引用对象 9_5 空引用 9_6通过值来传递函数参数 9_7通过指针来传递函数参数 9_8 通过引用来传递函数参数 9_9.2利用引用返回多值 9_9_1利用指针返回多值 9_10按值传递对象 9_11 使用指针来传递对象 9_12 使用const指针来传递对象 9_13使用引用来传递对象 9_14到底是使用引用还是指针 10_1-2成员函数的重载2 10_1普通函数的重载1 10_2函数的缺省参数 10_3 重载构造函数 10_4 成员变量的初始化 10_5成员变量的初始化与构造函数1 10_5成员变量的初始化与构造函数2 10_5成员变量的初始化与构造函数3 10_6复制构造函数 10_7构造函数和NEW运算符 10_8再谈默认构造函数 10_9析构函数和delete运算符 10_10 默认析构函数 10_11调用构造函数进行类型转换 10_12浅层复制构造函数1 10_12浅层复制构造函数2 10_13深层复制构造函数 11_1运算符重载 11_2在成员函数中实现自加 11_3-1重载前置自加运算符 11_3-2重载前置自加运算符 11_4创建临时对象 11_5创建无名临时对象 11_6-1取消创建临时对象 11_6-2取消创建临时对象 11_7重载后置自加运算符 11_8-1重载加法运算函数operator+ 11_8-2重载加法运算函数operator+ 11_9-1重载赋值运算函数operator= 11_9-2重载赋值运算函数operator= 11_9-3重载赋值运算函数operator= 11_9-4重载赋值运算函数operator= 11_9-5重载赋值运算函数operator= 11_9-6重载赋值运算函数operator= 11_10-1转换类型运算符 11_10-2转换类型运算符 11_10-3转换类型运算符 11_11重载限定 12_1什么是继承和派生 12_2复杂的继承和派生 12_3单一继承1 12_4_1单一继承2 12_4_2保护成员 12_5_1公有型、保护型和私有型 12_6_1 12_7公有派生的保护成员 12_8公有派生的私有成员 12_9公有派生的赋值问题 12_10私有派生 12_11.1多重继承1 12_11.2多重继承2 12_12_1继承的构造与析构 12_12_2继承的构造与析构 12_13_1向基类构造函数传递参数1 12_13_2向基类构造函数传递参数2 12_13_3向基类构造函数传递参数3 12_14多重继承容易产生两义性 12_15两义性在重载时的一些问题 12_16_1两义性的归属问题1 12_16_2两义性的归属问题2 12_17减少两义性产生的混淆问题 12_18虚基类不会产生两义性 12_19虚基类与指针(选学) 13_1_1指向对象的指针 13_1_2指向对象的指针 13_2虚函数 13_3_1拳击游戏 13_3_2拳击游戏 13_3_3拳击游戏 13_3_4拳击游戏 13_3_5拳击游戏 13_4_1继承是否可以实现多态性 13_4_2继承是否可以实现多态性 13_5在编译时的静态联编 13_6在运行时的静态联编 13_7在编译时的动态联编 13_8在编译时的动态联编 13_9_1三种调用虚函数的方式比较 13_9_2三种调用虚函数的方式比较 13_9_3三种调用虚函数的方式比较 13_10系统是如何调用虚函数的 13_11在虚函数中使用成员名限定 13_12_1虚构造函数和析构函数 13_12_2虚构造函数和析构函数 14_1什么是数组 14_2数组元素 14_3数组下标越界 14_4倒序输出 14_5将数组的下标定义为常量以便于修改 14_6手动操作数组元素 14_7_1数组的初始化 14_7_2数组的初始化 14_8_1求平均考试成绩 14_8_2求平均考试成绩 14_9_1兔子繁殖问题 14_9_2兔子繁殖问题 14_9_3兔子繁殖问题 14_10_1数字排序问题 14_10_2数字排序问题 14_10_3数字排序问题 14_10_4数字排序问题 14_11_1数组在内存中的分布 14_11_2数组在内存中的分布 14_12数组名 14_13_1数组名与函数 14_14_1传递与接收 14_14_2传递与接收 14_15_1将数组传递给函数 14_15_2将数组传递给函数 14_15_3将数组传递给函数 14_16求数组所有元素的和 14_17_1用递增法查找数据 14_17_2用递增法查找数据 14_17_3用递增法查找数据 14_18_1用二分法来查找数据 14_18_2用二分法来查找数据 14_18_3用二分法来查找数据 14_19判断数组是否按照顺序排列 14_20_1判断数组排列方式然后执行不同的函数 14_20_2判断数组排列方式然后执行不同的函数 14_21数组在对象中的传参 14_22数组对象 14_23_1在数组对象中初始化成员变量 14_23_2在数组对象中初始化成员变量 14_24_1指针数组 14_24_2指针数组 14_25_1堆中数组对象 14_25_2堆中数组对象 14_26容易混淆的概念 14_27枚举常量与数组 14_28多维数组 14_29多维数组的初始化 14_30定义字符数组 14_31字符串的输入问题 14_32strcat函数 14_33strcpy函数 14_34strcmp函数 14_35strups函数 14_36strlwr函数 14_37strlen函数 14_40_1打印杨辉三角形 14_40_2打印杨辉三角形 14_41_1重载数组下标操作符 14_41_2重载数组下标操作符 14_41_3重载数组下标操作符 15_1什么是链表 15_2_1结构体链表 15_3静态链表 15_4动态链表 15_5_1动态链表的建立 15_5_2动态链表的建立 15_6_1解决输入字符造成死循环的问题 15_6_2解决输入字符造成死循环的问题 15_7动态链表的显示 15_8_1动态链表的删除 15_8_2动态链表的删除 15_8_3动态链表的删除 15_9动态链表的插入 15_10演示尾插法 15_11前插法 15_12_1中间插法 15_12_2中间插法 15_13链表统计 15_14_2使用链表 15_14_3使用链表 15_14_4使用链表 15_14_5使用链表 15_14_6使用链表 15_14_7使用链表 15_15_1链表使用案例之走迷宫 15_15_2设置项目 15_15_3创建派生类 15_15_4定义应用程序对象 15_15_5初始化函数 15_15_6创建窗口 15_15_7显示窗口 15_15_8更新窗口 15_15_9 GDI类 15_15_10加载位图 15_15_11 LoadImage函数 15_15_12句柄是什么 15_15_13显示图片 15_15_14显示图片 15_15_15显示图片 15_15_16显示图片 15_15_17显示图片 15_15_18显示图片 15_15_19小知识点 15_15_20动画 15_15_21动画 15_15_22动画 15_15_23动画 15_15_24键盘控制人物移动 15_15_25键盘控制人物移动 15_15_26键盘控制人物移动 15_15_27键盘控制人物移动 15_15_28迷宫墙壁 15_15_29迷宫墙壁 15_15_30迷宫墙壁 15_15_31迷宫墙壁 15_15_32走迷宫 15_15_33用链表记录行走路线 15_15_34用链表记录行走路线 15_15_35用链表记录行走路线 16_1为什么要使用多重继承 16_2在派生类中增加函数 16_3使用多重继承 16_4模拟抽象类 16_5纯虚函数与抽象类 16_6抽象类实例 16_7.1复杂的抽象结构 16_7.2复杂的抽象结构 16_8慎用多重继承 17_1_1静态成员变量 17_1_2静态成员变量 17_2私有静态成员变量 17_3_1静态成员函数 17_3_2静态成员函数 17_3_3静态成员函数 17_4_1静态成员的使用 17_4_2静态成员的使用 17_5_1函数指针 17_5_2函数指针 17_5_3函数指针 17_5_4函数指针 17_5_5函数指针 17_5_6函数指针 17_5_7函数指针 17_5_8函数指针 17_6_1函数指针数组 17_6_2函数指针数组 17_6_3函数指针数组 17_7函数指针也可以作为函数的参数 17_8使用typedef简化函数指针的声明 17_9_1类的函数指针 17_9_2类的函数指针 17_9_3类的函数指针 18_1.1 char型字符串 18_1_2 char型字符串 18_1_3 char型字符串 18_1_4 char型字符串 18_1_5 char型字符串 18_2_1 string型字符串 18_2_2 string型字符串 18_2_3 string型字符串 18_2_4 string型字符串 18_2_5 string型字符串 18_3_1 string型字符串的赋值 18_3_2 string型字符串的赋值 18_4_1 string型字符串的合并 18_4_2 string型字符串的合并 18_5 string型字符串的部分合并 18_6_1 string型字符串的替换 18_6_2 string型字符串的替换 18_7.1 string型字符串的拷贝 18_7.2 string型字符串的拷贝 18_8 string型字符串的插入. 18_9 string型字符串的删除 18_10.1 string型字符串的查找 18_10_2 string型字符串的查找 18_10_3 string型字符串的查找 18_11_1 string型字符串的比较 18_11_2 string型字符串的比较 18_11_3 string型字符串的比较 18_12 判断string型字符串是否为空 18_13 swap() 交换两个字符串的内容 18_14 将string型字符串转为char型字符串 18_15_1 Char型字符串与函数 18_15_2 Char型字符串与函数 18_15_3 Char型字符串与函数 18_16.1 函数如何返回字符串 18_16_2 函数如何返回字符串 18_17.2 结构体与构造函数 18_17_1 结构体与类的区别 18_18 结构体的赋值 18_19.2 结构体与函数 18_19_1 结构体与函数 18_20 结构体与string 18_21 string数组与函数 19.1.前言 19.2包含 19.3.图书类1 19.4.图书类2 19.5.图书类3 19.6.为图书类重载GetAuthor函数 19.7.包含对系统造成的消耗 19.8.按别名传递Book对象 19.9.数据类Data 19.10.链表类Node 19.11.标签类Label 19.12.头节点类中间节点类和尾节点类 19.13.头节点类中间节点类和尾节点类 19.14.头节点类中间节点类和尾节点类 19.15.图书药品管理系统 19.16.图书药品管理系统 19.17.图书药品管理系统 19.18.图书药品管理系统 19.19.图书药品管理系统 19.20.图书药品管理系统 19.21.图书药品管理系统 19.22.利用类的包含来实现代码重用 19.23.利用似有继承来实现代码重用 19.24.包含与继承 19.25.公有私有和保护继承的不同 19.26.公有私有和保护继承的不同 19.27.总结 |