自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 基于ESP8266 MQTT的按键报警

硬件要求: 1.esp8266-12E开发板 2.自复位按键若干 3.led灯及若干220欧电阻软件要求: arduino ide安装ESP8266开发板软件包使用1.6.4及以上版本的Arduino, 打开Arduino IDE,打开 文件->首选项 在 附加开发板管理器网址 一栏写入:http://arduino.e...

2019-10-16 13:58:53 831

原创 C++day12设计模式部分(上)

1.设计模式的基本原则1.开放封闭原则:类的改动是通过增加代码进行的,而不是修改源代码2.依赖倒置原则:依赖于抽象(接口),不要依赖具体的实现(类),也就是针对接口编程3.迪米特法则:一个软件实体应当尽可能少地与其他实体发生互相作用4.接口隔离原则:不应该强迫客户的程序依赖他们不需要的接口方法。5.里式替换原则:任何抽象类出现的地方都可以用他的实现类进行替换。6.合成复用原则:如果使用继承,会导致...

2018-03-29 11:48:28 106

原创 C++day11STL基础知识

1.函数对象和谓词class Show{public: Show() { count = 0; } void operator()(int a) { cout << a << " "; count++; } void show () { cout << "元素个数为 : " << count <&l

2018-03-29 10:07:09 143

原创 C++day10STL标准模板库

    这部分比较偏向算法的使用,固定的模板,需要向里面填入参数,所以上代码与注释理解更为方便1.vector(容器)#include <iostream>#include <vector>using namespace std;void printV(vector<int>::iterator begin, vector<int>::ite...

2018-03-29 10:02:39 178

原创 c++基础知识day9

1.异常在类层次间的使用//案例:设计一个数组类 MyArray,重载[]操作,// 数组初始化时,对数组的个数进行有效检查 // index<0 抛出异常eNegative // index = 0 抛出异常 eZero // 3)index>1000抛出异常eTooBig // 4)index<10 抛出异常eTooSmall // 5)eSize类是以上类的...

2018-03-27 15:52:07 145

原创 C++基础知识day8

1.类模板// 模板类派生类// 1、派生一个具体的类class B:public A<int>{public: B(int a, int b):A(a) { }private: int b;};// 2、派生一个模板类template <typename T, typename T2>class C:public A<T>{public: C(T a, T2 ...

2018-03-27 15:47:31 87

原创 c++基础知识day7(下)

7.函数模板// 函数的形参:类型  变量,  // 参数传递 =====>  将实参的传递给形参,做的是变量的传递// ====>  形参 类型 能不能传递?// ====>  形参 类型参数化     =====>  函数模板// 模板声明:// template 用来声明模板用的// typename 是用来告诉编译器 用来代替类型的名字template <ty...

2018-03-23 14:52:01 107

原创 c++基础知识day7(中)

4.用基类指针操作派生类数组// 基类指针指向派生类数组 Parent *p = c; // 基类指针和派生类指针步长不一样,用基类指针操作派生类数组的时候会产生问题//for (int i = 0; i < 5; i++) // p[i].show(); double *pd = (double*)1000; double *p1 = pd + 1; int     p2 = (int)p...

2018-03-23 14:44:49 93

原创 C++基础知识day7(上)

1.虚析构函数#include <iostream>using namespace std;// 基类class A{public: A() { cout << "A 的构造函数" << endl; } virtual ~A() { cout << "A 的析构函数" << endl; }

2018-03-23 14:35:25 101

原创 c++基础知识day6

1.多继承的概念多继承:一个类允许有多个直接基类//多继承语法:class A:访问控制符 基类1,访问控制符 基类2,。。。。class Child:public Parent1, public Parent2{public: // 1、如果基类没有无参构造,需要在对象初始化列表中显示调用基类的构造函数 // 2、基类的构造顺序和在对象列表中调用顺序无关,和在继承时候继承顺序有关 Child()...

2018-03-23 10:43:12 88

原创 C++基础知识day5(下)

1.类的对象模型#include <iostream>using namespace std;class A{public: int a1; int a2;};class B:public A{public: int b1; int b2;};int main(){ B vb; vb.a1 = 1; vb.a2 = 2; vb.b1 = 3; vb.b2 = 4; cout <&...

2018-03-21 16:15:43 99

原创 c++基础知识day5(上)

1.赋值运算符// 赋值运算符:类名& operator=(const 类名& 变量名) Student& operator=(const Student &s) {  id = s.id;  name = s.name;  return *this; }// 赋值  operator=(s3, s1) // s3.operator=(s1) // 如果一个类没有写...

2018-03-21 15:59:52 113

原创 c++基础知识day4(下)

5.友元函数和友元类// 友元函数:如果一个函数 func(), 它是类A 的友元函数,该函数可以通过A的对象使用A 的所有成员(包括私有成员)// 定义方式:// 1、在类中写出函数声明// 2、在函数声明前加一个关键字  friend// 特点:// 1、友元函数不是类的内部函数,是一个外部函数,所以没有this 指针// 2、友元函数的声明不受访问控制符影响,可以放到类的任意位置// 3、友...

2018-03-21 15:18:19 118

原创 c++基础知识day4(上)

1.对象初始化列表// 一个类B中 有另一个类A的对象,A中没有无参构造// 不能直接定义A的对象,需要某种机制对A的对象进行初始化// ===> 对象初始化列表:用来对对象进行初始化// 构造函数后面加 :后面是要初始化的对象// 1、对象初始化列表比当前对象的构造函数先执行// 2、对象在对象初始化列表中的顺序和构造顺序无关,和在类中的声明顺序有关// const常量也要放到对象初始化列...

2018-03-21 15:01:29 140

原创 C++基础知识day3

1.重载函数// 函数重载:函数名相同,可以有不同的定义  实现形式不同void swap_int(int &a, int &b){ int tmp = a; a = b; b = tmp;}void swap_double(double &a, double &b){ double tmp = a; a = b; b = tmp;}void swap_char(c...

2018-03-19 18:49:55 87

原创 C++基础知识day2.1

9.内联函数与宏函数// 宏// 1、定义宏常量   ------>  推荐用 const常量 代替宏常量// 2、定义宏函数   ------>  推荐用 内联函数 来代替宏函数// 宏函数:// 在预处理期间进行处理,做的完全替换,可以节省 函数 跳转、入栈、出栈等的 开销,提升程序运行效率// 空间 换 时间// 宏函数 使用可能并不会达到预期的效果 宏函数不会对参数类型进行检测...

2018-03-19 14:46:35 96

原创 C++基础知识 day2

1.定义和声明// C++可以在任意位置定义变量,尽量减少变量的作用域 -----> 尽可能延迟变量的定义 -----> 什么时候用,什么时候定义2.寄存器变量// 申请一个寄存器变量,变量不存在内存中, // 而是直接存在寄存器中 // 请求,请求不一定能够成功register int b = 20;// C++中 如果对一个寄存器变量进行取地址操作 // register 声明将变...

2018-03-19 14:43:18 116

原创 c++基础知识day1

1.打开标准命名空间#include <iostream>;using namespace std;2.cout 标准输出变量,不是函数,功能类似printf,向屏幕打印数据<< 左移操作符,一旦和 cout结合到一块 ---> 代表数据流向,数据从右边流向左边 右边是字符串 "hello world", 左边是cout,也就是屏幕---> "hello wor...

2018-03-19 14:27:56 200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除