C++-千峰-新版C++教程

本课程是一套专为C++初学者及希望巩固基础的开发者量身打造的系统性实战课程。课程以“夯实基础、精通核心、项目驱动、掌握STL”为核心,系统性地串联起从开发环境搭建、C++基础语法、流程控制、函数,到指针与内存管理、面向对象编程(OOP)及STL标准模板库的完整知识体系。你将不仅掌握C++语言的语法细节,更能通过“双色球项目”和“OA会议室预定系统”等实战项目,深入理解面向对象的设计思想与STL的高效应用,为后续学习数据结构、算法及更高级的C++开发打下坚实基础。
核心学习路径
1. 开发入门与语法基础
环境搭建:从零开始,学习在Windows和Mac平台下安装与配置主流集成开发环境(IDE),包括Visual Studio和CLion,并掌握其基本使用方法。
编程基础:了解编程语言的本质,深入学习计算机进制(二进制、八进制、十六进制)及其相互转换,掌握负数的二进制表示(原码、反码、补码),为理解底层数据存储奠定基础。
C++基础语法:编写第一个C++程序,系统学习注释、标识符、数据类型、变量与常量。掌握算术、赋值、关系、逻辑、位运算等各类运算符,以及宏定义和命名空间的使用。
2. 流程控制与函数
流程控制:深入学习程序的三大基本结构。掌握if-else、switch-case实现条件分支,以及while、do-while、for循环的使用。理解break、continue、goto等流程控制关键字的作用。
函数编程:学习函数的定义、调用、参数传递与返回值。掌握函数重载、默认参数和函数递归等高级特性。同时,学习如何进行断点调试,提升代码排错能力。
3. 内存管理与数据结构
指针与引用:深入理解C++的灵魂——指针。学习内存分区模型,掌握指针的基础使用、空指针与野指针的区别。深入剖析常量指针、指针常量、引用的本质及其在函数中的应用。
数组与算法:系统学习一维数组和二维数组的定义、访问与内存分析。通过实现选择排序、冒泡排序、顺序查询和二分查询等经典算法,提升逻辑思维能力。理解浅拷贝与深拷贝的区别。
4. 面向对象编程(OOP)
OOP核心思想:从面向过程到面向对象的思维转变,深入理解类与对象的关系,学习如何设计类和创建对象。
类的核心特性:
构造与析构:掌握构造函数、拷贝构造函数和析构函数的调用时机与使用方法,理解初始化列表和explicit关键字。
封装:学习static、const、mutable等关键字,掌握友元(全局函数、成员函数、友元类)的使用,并深入理解运算符重载。
继承:学习继承的语法、三种继承方式及其特点,掌握继承中的构造与析构顺序,理解同名成员的处理方式,并深入剖析多继承与菱形继承问题。
多态:理解多态的实现原理,掌握虚函数、纯虚函数与抽象类,学习对象转型,并理解虚析构函数的作用。
模板编程:学习函数模板和类模板的定义与使用,理解模板的实例化时机、局限性,以及模板与友元、继承的结合使用。
5. STL标准模板库与项目实战
STL核心组件:系统学习STL的六大组件和三大核心。
容器:深入掌握string、vector、deque、list、set、map等常用容器的构造、增删改查、遍历及特殊操作。
算法:学习STL提供的丰富算法,包括遍历(for_each)、查找(find)、排序(sort)、拷贝替换等。
仿函数:了解函数对象和谓语的概念,以及系统内置仿函数的使用。
综合项目实战:
双色球项目:综合运用数组、函数和流程控制,实现一个经典的双色球模拟项目。
OA会议室预定系统:课程的核心亮点。通过开发一个完整的“OA会议室预定系统”,将面向对象编程思想和STL容器应用于实际项目中,体验从需求分析、类设计到代码实现的全过程。
课程亮点
体系完整,循序渐进:课程从环境搭建到STL高级应用,内容编排由浅入深,逻辑清晰,非常适合零基础或基础不牢的学员系统学习。
深入核心,剖析原理:不仅讲解语法“怎么用”,更注重“为什么”,深入剖析指针、内存管理、面向对象底层机制等C++核心难点。
项目驱动,学以致用:通过“双色球”和“OA会议室预定系统”两个项目,将零散的知识点串联起来,让你在实战中巩固知识,积累宝贵的编码经验。
资料齐全,配套完善:课程配套了完整的源码、文档和开发工具安装指南,帮助你快速搭建环境,高效学习。

课程目录:
新版C++
| 01-01-搭建开发环境-集成开发环境的介绍[].mp4
| 01-02-搭建开发环境-Windows平台安装VisualStudio[].mp4
| 01-03-搭建开发环境-Windows平台使用VisualStudio[].mp4
| 01-04-搭建开发环境-Windows平台安装CLion[].mp4
| 01-05-搭建开发环境-Windows平台使用CLion[].mp4
| 01-06-搭建开发环境-Mac平台安装与使用CLion[].mp4
| 02-01-编程基础-什么是编程语言[].mp4
| 02-02-编程基础-进制的介绍与分类[].mp4
| 02-03-编程基础-不同进制的表示形式[].mp4
| 02-04-编程基础-十进制转其他进制[].mp4
| 02-05-编程基础-十进制转二进制[].mp4
| 02-06-编程基础-其他进制转十进制[].mp4
| 02-07-编程基础-二进制与八进制十六进制的转换[].mp4
| 02-08-编程基础-负数的二进制表示形式[].mp4
| 02-09-编程基础-原码反码与补码[].mp4
| 03-01-C++基础-第一个C++程序[].mp4
| 03-02-C++基础-注释的使用[].mp4
| 03-03-C++基础-标识符[].mp4
| 03-04-C++基础-数据类型[].mp4
| 03-05-C++基础-变量和常量[].mp4
| 03-06-C++基础-各种数据类型的变量定义[].mp4
| 03-07-C++基础-转义字符的使用[].mp4
| 03-08-C++基础-字符类型和字符串类型的变量定义[].mp4
| 03-09-C++基础-数据类型转换[].mp4
| 03-10-C++基础-控制台输入[].mp4
| 03-11-C++基础-控制台输入提高[].mp4
| 03-12-C++基础-宏定义的基础使用[].mp4
| 03-13-C++基础-命名空间的使用[].mp4
| 03-14-C++基础-算术运算符[].mp4
| 03-15-C++基础-赋值运算符[].mp4
| 03-16-C++基础-关系运算符[].mp4
| 03-17-C++基础-逻辑运算符[].mp4
| 03-18-C++基础-位运算符[].mp4
| 03-19-C++基础-三目运算符[].mp4
| 04-01-流程控制-流程控制概述[].mp4
| 04-02-流程控制-if的基础使用[].mp4
| 04-03-流程控制-if-else的基础使用[].mp4
| 04-04-流程控制-else-if实现多分支[].mp4
| 04-05-流程控制-if的特殊语法[].mp4
| 04-06-流程控制-switch的基础使用[].mp4
| 04-07-流程控制-switch中的穿透性[].mp4
| 04-08-流程控制-利用switch的穿透性[].mp4
| 04-09-流程控制-while循环的使用[].mp4
| 04-10-流程控制-while实现输入的控制[].mp4
| 04-11-流程控制-do-while循环的使用[].mp4
| 04-12-流程控制-for循环的使用[].mp4
| 04-13-流程控制-for循环的特殊语法[].mp4
| 04-14-流程控制-流程控制关键字break continue goto[].mp4
| 04-15-流程控制-多重循环[].mp4
| 05-01-函数-函数的基础定义与调用[].mp4
| 05-02-函数-函数调用的顺序[].mp4
| 05-03-函数-函数的参数使用[].mp4
| 05-04-函数-函数的返回值使用[].mp4
| 05-05-函数-参数的默认值[].mp4
| 05-06-函数-函数的重载[].mp4
| 05-07-函数-函数的递归[].mp4
| 05-08-函数-访问其他文件中的函数[].mp4
| 05-09-函数-断点调试[].mp4
| 06-01-指针与引用-内存分区[].mp4
| 06-02-指针与引用-内存中的数据残留[].mp4
| 06-03-指针与引用-指针的基础使用[].mp4
| 06-04-指针与引用-空指针与野指针[].mp4
| 06-05-指针与引用-常量指针与指针常量[].mp4
| 06-06-指针与引用-指针在函数中的使用[].mp4
| 06-07-指针与引用-引用的基本使用[].mp4
| 06-08-指针与引用-引用在函数中的使用[].mp4
| 06-09-指针与引用-引用的本质[].mp4
| 06-10-指针与引用-常量引用[].mp4
| 07-01-数组-数组的介绍[].mp4
| 07-02-数组-数组的定义[].mp4
| 07-03-数组-数组的元素访问[].mp4
| 07-04-数组-数组的内存分析[].mp4
| 07-05-数组-数组的元素遍历[].mp4
| 07-06-数组-选择排序[].mp4
| 07-07-数组-冒泡排序[].mp4
| 07-08-数组-顺序查询[].mp4
| 07-09-数组-二分查询[].mp4
| 07-10-数组-数组的练习[].mp4
| 07-11-数组-浅拷贝和深拷贝[].mp4
| 07-12-数组-二维数组[].mp4
| 08-双色球项目[].mp4
| 09-01-面向对象-面向对象与面向过程[].mp4
| 09-02-面向对象-类和对象[].mp4
| 09-03-面向对象-类的设计[].mp4
| 09-04-面向对象-对象的创建[].mp4
| 09-05-面向对象-成员访问[].mp4
| 09-06-面向对象-类是一种自定义的数据类型[].mp4
| 09-07-面向对象-面向对象基础案例[].mp4
| 09-08-面向对象-在类外和其他文件中实现类函数[].mp4
| 09-09-面向对象-静态[].mp4
| 09-10-面向对象-构造函数的介绍[].mp4
| 09-11-面向对象-构造函数的书写[].mp4
| 09-12-面向对象-构造函数的使用[].mp4
| 09-13-面向对象-explicit关键字[].mp4
| 09-14-面向对象-构造函数的注意事项[].mp4
| 09-15-面向对象-构造函数初始化列表[].mp4
| 09-16-面向对象-拷贝构造函数[].mp4
| 09-17-面向对象-析构函数[].mp4
| 09-18-面向对象-浅拷贝与深拷贝[].mp4
| 09-19-面向对象-this指针的介绍[].mp4
| 09-20-面向对象-this关键字不能省略的情况[].mp4
| 09-21-面向对象-设计函数返回对象本身[].mp4
| 09-22-面向对象-空指针访问成员函数[].mp4
| 09-24-面向对象-常对象[].mp4
| 09-25-面向对象-mutable[].mp4
| 09-26-面向对象-友元的介绍[].mp4
| 09-27-面向对象-全局函数做友元[].mp4
| 09-28-面向对象-成员函数做友元[].mp4
| 09-29-面向对象-友元类[].mp4
| 09-30-面向对象-运算符重载的介绍[].mp4
| 09-31-面向对象-可以重载的运算符[].mp4
| 09-32-面向对象-运算符重载+[].mp4
| 09-33-面向对象-运算符重载-[].mp4
| 09-34-面向对象-运算符重载[].mp4
| 09-36-面向对象-封装性[].mp4
| 09-37-面向对象-继承的概念[].mp4
| 09-38-面向对象-继承的基础语法[].mp4
| 09-39-面向对象-继承的特点[].mp4
| 09-41-面向对象-三种继承方式[].mp4
| 09-42-面向对象-继承中的构造和析构函数[].mp4
| 09-43-面向对象-子类和父类中有同名成员[].mp4
| 09-44-面向对象-多继承的基础概念[].mp4
| 09-45-面向对象-菱形继承[].mp4
| 09-47-面向对象-对象转型[].mp4
| 09-48-面向对象-转型之后的成员访问[].mp4
| 09-49-面向对象-虚函数与函数重写[].mp4
| 09-50-面向对象-多态的案例[].mp4
| 09-51-面向对象-纯虚函数与抽象类[].mp4
| 09-53-面向对象-多态案例[].mp4
| 09-54-面向对象-虚析构函数[].mp4
| 09-55-面向对象-结构体[].mp4
| 09-57-面向对象-函数模板的定义[].mp4
| 09-58-面向对象-函数模板的使用[].mp4
| 09-59-面向对象-实际类型的数量少于虚拟类型的数量[].mp4
| 09-63-面向对象-函数模板的使用案例[].mp4
| 09-67-面向对象-类模板的成员函数创建时机[].mp4
| 09-70-面向对象-类模板遇到友元[].mp4
| 105 09-23-面向对象-常函数[].mp4
| 11-02-STL-STL六大组件[].mp4
| 11-03-STL-STL的优点[].mp4
| 11-04-STL-STL的三大组件[].mp4
| 11-10-STL-string容器的比较[].mp4
| 11-14-STL-vector容器的遍历[].mp4
| 11-15-STL-vector容器的构造[].mp4
| 11-16-STL-vector的赋值函数[].mp4
| 11-25-STL-set容器的介绍与二叉树的介绍[].mp4
| 11-26-STL-set容器的使用[].mp4
| 11-31-STL-系统内置仿函数[].mp4
| 11-34-STL-遍历算法-transform[].mp4
| 11-37-STL-查找算法adjacent_find[].mp4
| 11-39-STL-查找算法count[].mp4
| 11-44-STL-拷贝和替换算法[].mp4
| 11-45-STL-算术生成算法[].mp4
| 117 09-35-面向对象-运算符重载=[].mp4
| 122 09-40-面向对象-继承中的访问权限问问题[].mp4
| 128 09-46-面向对象-什么是多态[].mp4
| 134 09-52-面向对象-纯虚函数与多继承[].mp4
| 138 09-56-面向对象-模板的介绍[].mp4
| 142 09-60-面向对象-返回值使用虚拟类型[].mp4
| 143 09-61-面向对象-普通函数和模板函数调用[].mp4
| 144 09-62-面向对象-函数模板的局限性[].mp4
| 146 09-64-面向对象-类模板的定义与使用[].mp4
| 147 09-65-面向对象-类模板作为函数的参数[].mp4
| 148 09-66-面向对象-类模板继承[].mp4
| 150 09-68-面向对象-类模板的函数类外实现[].mp4
| 151 09-69-面向对象-模板类头文件和原文件分离[].mp4
| 153 10-面向对象项目[].mp4
| 154 11-01-STL-STL的基本概念[].mp4
| 158 11-05-STL-string容器的简介[].mp4
| 159 11-06-STL-string容器的构造与赋值[].mp4
| 160 11-07-STL-string容器的字符存取操作[].mp4
| 161 11-08-STL-string字符串的拼接操作[].mp4
| 162 11-09-STL-string容器的查找和替换操作[].mp4
| 164 11-11-STL-string容器的子串获取操作[].mp4
| 165 11-12-STL-string容器的插入和删除操作[].mp4
| 166 11-13-STL-vector容器的介绍[].mp4
| 170 11-17-STL-vector的大小操作[].mp4
| 171 11-18-STL-vector的数据存取操作[].mp4
| 172 11-19-STL-vector的数据插入和删除的操作[].mp4
| 173 11-20-STL-利用swap函数实现vector容器收缩内存空间[].mp4
| 174 11-21-STL-deque容器的使用[].mp4
| 175 11-22-STL-stack容器[].mp4
| 176 11-23-STL-queue容器[].mp4
| 177 11-24-STL-list容器[].mp4
| 180 11-27-STL-pair的使用[].mp4
| 181 11-28-STL-map容器的使用[].mp4
| 182 11-29-STL-函数对象的使用[].mp4
| 183 11-30-STL-谓语的使用[].mp4
| 185 11-32-STL-算法的概述[].mp4
| 186 11-33-STL-遍历算法-for_each[].mp4
| 188 11-35-STL-查找算法find[].mp4
| 189 11-36-STL-查找算法find_if[].mp4
| 191 11-38-STL-查找算法binary_search[].mp4
| 193 11-40-STL-排序算法sort[].mp4
| 194 11-41-STL-排序算法merge[].mp4
| 195 11-42-STL-排序算法random_shuffle[].mp4
| 196 11-43-STL-排序算法revese[].mp4
| 199 11-46-STL-集合算法[].mp4
| 200 12-会议室预定系统项目[].mp4
| 学习常见问题解惑[].mp4
|
\—资料
+—代码
| | STL标准模板库.zip
| | 基础语法部分.zip
| | 面向对象部分.zip
| |
| \—OA会议室预定系统
| | main.cpp
| | OAAdmin.cpp
| | OAAdmin.h
| | OADataCenter.cpp
| | OADataCenter.h
| | OASystem.cpp
| | OASystem.h
| | OASystem_20230719172924.cpp
| | OAUser.cpp
| | OAUser.h
| | OAUtils.cpp
| | OAUtils.h
| | OA会议室预定系统.sln
| | OA会议室预定系统.vcxproj
| | OA会议室预定系统.vcxproj.filters
| | OA会议室预定系统.vcxproj.user
| |
| +—OA会议室预定系统
| | | main.cpp
| | | OAAdmin.cpp
| | | OAAdmin.h
| | | OADataCenter.cpp
| | | OADataCenter.h
| | | OAMeetingRoom.cpp
| | | OAMeetingRoom.h
| | | OASystemUI.cpp
| | | OASystemUI.h
| | | OASystemUI_20230719172925.h
| | | OAUser.cpp
| | | OAUser.h
| | | OAUtils.cpp
| | | OAUtils.h
| | | OA会议室预定系统.vcxproj
| | | OA会议室预定系统.vcxproj.filters
| | | OA会议室预定系统.vcxproj.user
| | |
| | \—x64
| | \—Debug
| | | main.obj
| | | OAAdmin.obj
| | | OADataCenter.obj
| | | OAMeetingRoom.obj
| | | OASystemUI.obj
| | | OASystemUI_20230719172923.obj
| | | OAUser.obj
| | | OAUtils.obj
| | | OA会议室预定系统.exe.recipe
| | | OA会议室预定系统.ilk
| | | OA会议室预定系统.log
| | | vc143.idb
| | | vc143.pdb
| | |
| | \—OA会议室预定系统.tlog
| | CL.command.1.tlog
| | CL.read.1.tlog
| | CL.write.1.tlog
| | link.command.1.tlog
| | link.read.1.tlog
| | link.write.1.tlog
| | OA会议室预定系统.lastbuildstate
| |
| \—x64
| \—Debug
| | main.obj
| | OASystem.obj
| | OAUtils.obj
| | OA会议室预定系统.exe
| | OA会议室预定系统.exe.recipe
| | OA会议室预定系统.ilk
| | OA会议室预定系统.log
| | OA会议室预定系统.pdb
| | vc143.idb
| | vc143.pdb
| |
| \—OA会议室预定系统.tlog
| CL.command.1.tlog
| CL.read.1.tlog
| CL.write.1.tlog
| link.command.1.tlog
| link.read.1.tlog
| link.write.1.tlog
| OA会议室预定系统.lastbuildstate
|
\—文档
C++.pdf
开发工具安装.pdf

下载地址:

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

C++-千峰-新版C++教程-IT技术资源教程免费分享平台
C++-千峰-新版C++教程
此内容为付费阅读,请付费后查看
¥29.9
限时特惠
¥99
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费阅读
© 版权声明
THE END
喜欢就支持一下吧
点赞60 分享