黑马程序员匠心之作C++教程从0到1入门编程
文章平均质量分 76
本教程分为7个阶段,涵盖基础入门到实战项目,
第1阶段-C++基础入门,
第2阶段实战-通讯录管理系统,
第3阶段-C++核心编程,
第4阶段实战-基于多态的企业职工系统
第5阶段-C++提高编程
第6阶段实战-基于STL泛化编程的演讲比赛
第7阶段-C++实战项目机房预约管理系统
lilyfengli
我所理解的热爱,是竭尽全力之后,允许自己颗粒无收。
展开
-
练习 ~黑马程序员匠心之作-第五阶段-C++提高编程-P174~P184-模板-类模板
黑马程序员匠心之作|C++教程从0到1入门编程关于P174~P184-练习-类模板1、类模板的基本语法2、类模板与函数模板区别1、类模板的基本语法类模板作用:建立一个通用类,类中的成员数据类型可以不具体制定。用一个虚拟的类型来代表。template<typename T>类解释:template — 声明创建模板typename — 表面其后面的符号是一种数据类型,可以用class代替T — 通用的数据类型,名称可以替换,通常为大写字母#include<io原创 2020-10-28 11:49:39 · 572 阅读 · 1 评论 -
练习 ~黑马程序员匠心之作-第五阶段-C++提高编程-P167~P173-模板-普通函数模板
黑马程序员匠心之作|C++教程从0到1入门编程关于P167~P184-练习-模板1、模板的概念2、函数模板基本语法3、函数模板注意事项4、函数模板案例-数组排序5、普通函数与函数模板的区别6、7、模板的局限性8、类模板的基本语法9、类模板与函数模板区别1、模板的概念2、函数模板基本语法3、函数模板注意事项4、函数模板案例-数组排序5、普通函数与函数模板的区别6、7、模板的局限性8、类模板的基本语法9、类模板与函数模板区别...原创 2020-10-28 11:41:15 · 465 阅读 · 1 评论 -
练习 ~黑马程序员匠心之作-第四阶段实战-基于多态的企业职工系统-资源
基于多态的企业职工系统-资源1、基于多态的企业职工系统-项目资源链接:https://pan.baidu.com/s/1uS3jwpABoxWkN-eKXsbIDw 提取码:lg552、基于多态的企业职工系统Demo-可安装部署的应用程序链接:https://pan.baidu.com/s/1JUdroc7gHl8fcDMuBiS_kw 提取码:5rts这部分可参照以前的一篇文章VS2015-项目发布、打包成可安装部署的应用程序...原创 2020-08-03 00:17:51 · 849 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第四阶段实战-基于多态的企业职工系统-P160~P166-职工管理系统
关于P160~P166-练习-职工管理系统1、显示职工功能1 显示职工函数声明2 显示职工函数实现3 测试显示职工2、删除职工-判断职工是否存在1 判断职工是否存在函数声明2 判断职工是否存在函数实现3 测试判断职工是否存在3、删除职工1 删除职工函数声明2 删除职工函数实现3 测试删除职工4、修改职工功能实现1 修改职工函数声明2 修改职工函数实现3 测试修改职工5、查找职工功能实现1 查找职工函数声明2 查找职工函数实现3 测试查找职工6、按照职工编号进行排序功能实现1 排序函数声明2 排序函数实现3原创 2020-08-02 23:54:49 · 604 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第四阶段实战-基于多态的企业职工系统-P155~P159-职工管理系统-文件交互
关于P155~P1-练习-职工管理系统1、文件交互-写文件8.1 设定文件路径8.2 成员函数声明8.3 成员函数实现2、文件交互-读文件3、文件交互-读文件4、文件交互-读文件5、文件交互-读文件6、7、8、9、1、文件交互-写文件功能描述:对文件进行读写在上一个添加功能中,我们只是将所有的数据添加到了内存中,一旦程序结束就无法保存了因此,文件管理类中需要一个与文件进行交互的功能,对于文件进行读写操作8.1 设定文件路径首先,我们将文件路径,在workerManager.h中添加宏常量,并且包原创 2020-08-02 12:54:54 · 770 阅读 · 1 评论 -
练习 ~黑马程序员匠心之作-第四阶段实战-基于多态的企业职工系统-P147~P154-职工管理系统
黑马程序员匠心之作|C++教程从0到1入门编程关于P147~P154-练习-职工管理系统1、管理系统需求2、创建项目3、创建职工管理类3.1 创建文件3.2 头文件实现3.3 源文件实现4、菜单功能实现4.1 添加成员函数4.2 菜单功能实现4.3 测试菜单功能5、退出系统功能实现5.1 提供功能接口5.2 实现退出功能5.3 退出功能测试6、职工抽象类和普通员工类实现6.1 创建职工抽象类6.2 创建普通员工类6.3 测试7、经理类和老板类实现7.1 创建经理类7.2 创建老板类7.3 测试8、添加职工原创 2020-07-30 01:15:54 · 1386 阅读 · 1 评论 -
练习 ~黑马程序员匠心之作-第三阶段C++核心编程-P143~P146-C++文件操作
黑马程序员匠心之作|C++教程从0到1入门编程关于P143~P146-练习-C++文件操作1、文本文件-写文件2、文本文件-读文件3、二进制文件-写文件4、二进制文件-读文件1、文本文件-写文件程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放通过文件可以将数据持久化C++中对文件操作需要包含头文件<fstream>文件类型分为两种:1、文本文件—文件以文本的ASCII码形式存储在计算机中2、二进制文件—文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们原创 2020-07-27 23:47:31 · 1014 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第三阶段C++核心编程-P135~P142-类和对象-多态
黑马程序员匠心之作|C++教程从0到1入门编程关于P135~P142-练习-类和对象-多态1、多态的基本语法2、多态的原理剖析3、案例1-计算器类4、纯虚函数和抽象类5、案例2-制作饮品6、虚析构和纯虚析构7、案例3-电脑组装需求分析8、案例3-电脑组装具体实现1、多态的基本语法多态是C++面向对象三大特性之一多态分为两类静态多态:函数重载 和 运算符重载属于静态多态,复用函数名动态多态:派生类 和 虚函数实现运行时多态静态多态和动态多态区别:静态多态的函数地址早绑定——编译阶段确定函原创 2020-07-27 00:30:37 · 686 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第三阶段C++核心编程-P127~P134-类和对象-继承
黑马程序员匠心之作|C++教程从0到1入门编程关于P127~P134-练习-继承1、基本语法2、继承方式3、继承中的对象4、构造和析构顺序5、同名成员处理6、同名静态成员7、继承语法8、菱形继承问题1、基本语法继承是面向对象三大特性之一有些类与类之间存在特殊关系,例如下图中我们发现,定义这些类的时候,下级别的成员除了拥有上一级的共性,还有自己的特性这个时候我们就可以考虑利用继承的技术,减少重复代码2、继承方式3、继承中的对象4、构造和析构顺序5、同名成员处理6、同名静态成员7、继承语原创 2020-07-25 21:20:46 · 356 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第三阶段C++核心编程-P121~P126-类和对象-C++运算符重载
黑马程序员匠心之作|C++教程从0到1入门编程关于P121~P126-练习-类和对象-C++运算符重载1、加号运算符重载2、左移运算符重载3、递增运算符重载4、赋值运算符重载5、关系运算符重载6、函数调用运算符重载1、加号运算符重载2、左移运算符重载3、递增运算符重载4、赋值运算符重载5、关系运算符重载6、函数调用运算符重载...原创 2020-07-24 22:08:59 · 419 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第三阶段C++核心编程-P118~P120-类和对象-友元
黑马程序员匠心之作|C++教程从0到1入门编程关于P118~P120-练习-类和对象-友元友元1、全局函数做友元2、友元类3、成员函数做友元友元生活中,你的家有客厅(Public),有你的卧室(Private)客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去但是呢,你也可以允许你的好闺蜜好基友进去。在程序里,有些私有属性,也想让一些类外特殊的一些函数或者类进行访问,就需要用到友元的技术友元的目的就是让一个函数或者类访问另一个类中私有成员友元的关键字为 friend友元原创 2020-07-23 02:53:18 · 357 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第三阶段C++核心编程-P114~P117-类和对象-对象特性-C++对象模型和this指针
黑马程序员匠心之作|C++教程从0到1入门编程关于P114~P117-练习-类和对象-对象特性-C++对象模型和this指针1、成员变量和成员函数分开存储2、this指针概念3、空指针访问成员函数4、const修饰成员函数1、成员变量和成员函数分开存储在C++中,类内的成员变量和成员函数分开存储只有非静态成员变量才属于类的对象2、this指针概念3、空指针访问成员函数4、const修饰成员函数...原创 2020-07-23 01:01:50 · 365 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第三阶段C++核心编程-P106~P113-类和对象-对象特性-对象的初始化和清理
黑马程序员匠心之作|C++教程从0到1入门编程关于P106~P117-练习-类和对象-对象特征1、构造函数和析构函数2、构造函数的分类及调用3、拷贝构造函数调用时机4、构造函数调用规则5、深拷贝与浅拷贝6、初始化列表7、类对象作为类成员8、静态成员对象的初始化和清理生活中我们买的电子产品都基本会有出厂设置,在某一天我们不用时候也会删除一 些自己信息数据保证安全C++中的面向对象来源于生活,每个对象也都会有初始设置及对象销毁前的清理数据的设置。1、构造函数和析构函数对象的初始化和清理是两个非常原创 2020-07-19 02:29:16 · 566 阅读 · 1 评论 -
练习 ~黑马程序员匠心之作-第三阶段C++核心编程-P99~P105-类和对象-封装
黑马程序员匠心之作|C++教程从0到1入门编程关于P99~P105-练习-类和对象-封装1、属性和行为作为2、案例-设计学生类3、访问权限4、C++中class和5、成员属性私有化6、设计案例17、设计案例21、属性和行为作为2、案例-设计学生类3、访问权限4、C++中class和5、成员属性私有化6、设计案例17、设计案例2...原创 2020-07-16 01:42:10 · 742 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第三阶段C++核心编程-P95~P98-函数的提高
黑马程序员匠心之作|C++教程从0到1入门编程关于P95~P98-练习-函数的提高1、函数默认参数2、函数的占位参数3、函数重载-基本语法4、函数重载-注意事项1、函数默认参数在c++中,函数的形参列表中的形参是可以有默认值的。语法:返回值类型 函数名 (参数=默认值){}#include<iostream>using namespace std;//函数默认参数//如果我自己传如数据,就自己的数据,如果没有就用默认值//语法:返回值类型 函数名(形参=默认值){}int原创 2020-07-15 01:01:38 · 261 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第三阶段C++核心编程-P89~P94-C++中的引用
黑马程序员匠心之作|C++教程从0到1入门编程关于P89~P94-练习-C++中的引用1、引用的基本语法2、引用的注意事项3、引用做函数参数4、引用做函数返回值5、引用的本质6、常量引用1、引用的基本语法2、引用的注意事项3、引用做函数参数4、引用做函数返回值5、引用的本质6、常量引用...原创 2020-07-14 23:22:17 · 345 阅读 · 0 评论 -
练习~黑马程序员匠心之作-第一阶段C++基础入门-P1~P15-基本知识
黑马程序员匠心之作|C++教程从0到1入门编程关于P1~P15练习1、基本知识:helloworld,注释,变量,常量,关键字,标识符,int,sizeof(),float,char,string,bool,cin,cout2、防止显示结果太快用:system(“pause”)3、c++中涉及到string ,最前面必须#include< string >4、多行注释ctrl+k,ctrl+c;取消注释ctrl+k,ctrl+u5、一般的固定格式#include <iostr原创 2020-07-07 00:23:39 · 476 阅读 · 0 评论 -
练习~黑马程序员匠心之作-第一阶段C++基础入门-P16~P23-简单计算
黑马程序员匠心之作|C++教程从0到1入门编程关于P16~P18练习1、基本知识:加减乘除,取模,递增递减#include <iostream>using namespace std;int main() { //1、前置递增 int a = 10; ++a;//让变量+1 cout <<"a=" <<a << endl; //2、后置递增 int b = 10; b++;//让变量+1 cout << "b=原创 2020-07-07 18:34:31 · 283 阅读 · 0 评论 -
练习~黑马程序员匠心之作-第一阶段C++基础入门-P24~P30-选择结构
黑马程序员匠心之作|C++教程从0到1入门编程关于P24~P30练习-选择结构1、单行If语句//单行If语句 //用户输入分数,如果分数大于600,视为考上一本大学 ,在屏幕上输出 //1、用户输入分数 int score = 0; cout << "请输入一个分数:" << endl; cin >> score; //2、打印用户输入的分数 cout << "您输入的分数为:"<<score<< endl;原创 2020-07-07 23:11:31 · 384 阅读 · 0 评论 -
练习~黑马程序员匠心之作-第一阶段C++基础入门-P31~P41-循环结构
关于P31~P41练习-循环结构1、while循环语句语法:while(循环条件){循环语句}//while循环 //在屏幕中打印0~9这10个数 int num = 0; while(num < 10) { cout << num << endl; num++; }2、while案例:猜数字//while循环案例 //系统随机生成一个1~100之间的数字,玩家进行猜测。 //如果猜错,提示玩家数字过大或者过小; //如果猜对,恭喜玩家原创 2020-07-08 16:24:02 · 529 阅读 · 0 评论 -
练习~黑马程序员匠心之作-第一阶段C++基础入门-P42~P49-数组
关于P42~P49-练习-数组1、一维数组定义方式所谓数组,就是一个集合,里面存放了相同类型的数据元素特点1:数组中每个数据元素都是相同的数据类型特点2:数组是由连续的内存位置组成的一维数组的3种定义方式:1、数据类型 数组名 [数组长度];2、数据类型 数组名 [数组长度]={值1,值2……};3、数据类型 数组名 []={值1,值2……}; //1、数据类型 数组名[数组长度]; int arr[5]; //给数组中元素进行赋值 //数组元素下标从0开始 arr[0] = 1原创 2020-07-09 16:39:00 · 272 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第一阶段C++基础入门-P50~P55-函数
关于P50~P55-练习-函数1、函数的定义函数作用:讲一段经常使用的代码封装起来,减少重复代码一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。步骤:1、返回值类型2、函数名3、参数列表4、函数体语句5、return表达式语法:返回值类型 函数名(参数列表){ 函数体语句 return表达式} //函数定义,实现一个加法函数 //功能是:传入两个整型数据,计算数据相加的结果,并且返回 //1、返回值类型 int原创 2020-07-10 00:10:44 · 298 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第一阶段C++基础入门-P56~P63-指针
关于P56~P63-练习-指针1、指针的定义和使用作用:通过指针间接访问内存(可以用指针变量保存地址)//1、定义指针 int a = 10; //指针的定义语法:数据类型 * 指针变量名; int * p; //让指针记录变量a的地址 p = &a; cout << "a的地址为:"<< &a << endl; cout << "指针p为:"<< p << endl; //2、使用指针 //可原创 2020-07-10 16:16:07 · 515 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第一阶段C++基础入门-P64~P71-结构体
关于P64~P71-练习-结构体1、结构体的定义和使用结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。语法:struct 结构体名 {结构体成员列表};通过结构体创建变量的方式有3种:1、struct 结构体名 变量名2、struct 结构体名 变量名={成员1值,成员2值……}3、定义结构体时顺便创建变量#include<iostream>#include<string>using namespace std;//1、创建学生数据类型:学生包括(原创 2020-07-11 17:19:17 · 658 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第二阶段实战-P72~P83-通讯录管理系统
黑马程序员匠心之作|C++教程从0到1入门编程关于P72~P83-练习-通讯录管理系统1、系统功能介绍2、创建项目3、菜单功能4、退出功能实现5、添加联系人-结构体设计6、添加联系人-功能实现7、显示联系人8、删除联系人-检测联系人是否存在9、删除联系人-功能实现10、查找联系人11、修改联系人12、清空联系人1、系统功能介绍系统需求:通讯录是一个可以记录亲人、好友信息的工具。本教程主要利用C++来实现一个通讯录管理系统系统中需实现的功能如下:1、添加联系人:向通讯录中添加新人,信息包括(姓名、性原创 2020-07-12 15:16:51 · 1446 阅读 · 0 评论 -
练习 ~黑马程序员匠心之作-第三阶段C++核心编程-P84~P88-程序的内存模型
黑马程序员匠心之作|C++教程从0到1入门编程关于P84~P88-练习-程序的内存分区模型-内存四区1、内存分区模型2、 程序运行前2.1 代码区2.2 全局区3、程序运行后3.1 栈区4、new操作符4.1 堆区4.2 new运算符1、内存分区模型再C++程序执行时,将内存大方向划分为4个区域:代码区:存放函数的二进制代码,由操作系统进行管理全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作原创 2020-07-13 23:34:48 · 373 阅读 · 0 评论