自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java day6

//在后面的你会发现,安卓代码中大量使用内部类,什么叫做内部类呢,我们在一个类的里面重新定义一个新类,这个新类就叫做内部类。//这个Outer就是个外部类。class Outer{ //这个Inner就是内部类。我们为什么要使用内部类,他有一个唯一的好处,可以访问外部内的私有属性 //比如说我们在外部类里面定义一个私有属性 private int a=10...

2019-01-05 01:52:33 216

原创 Java day5

//包和权限:// 以前我们编译java程序的时候用的命令类似于 javac A.java 将在当前目录下// 生成A.class // 那我能不能把class文件放到其他目录下呢。是可以的,这就需要引入包的概念// 包实际上就是文件夹。包实际上就是个文件夹,你可以在JAVA程序的源代码里面// 用package指定一个文件夹的目录。当你编译这个程序的...

2019-01-05 01:47:50 225

原创 java day4

public class Abnormal{ //学习JAVA的异常,我们只要记住这几点就可以了 //分为必须处理的异常和可以不处理的异常 //对于必须处理的异常,你怎么处理呢 //可以自己处理,或者让别人处理 //如果是自己处理,就用 //try...catch...finally处理 //让别人处理就是通过throw扔给别人就行...

2019-01-05 01:32:52 229

原创 Java day3

class Person{ private int age; public Person() {} public Person(int age) { this.age=age; } public void SetAge(int age) { this.age=age; } pub...

2019-01-05 01:09:35 160

原创 Java day2

public class Function{ //在JAVA语言里面函数叫做方法 //格式 // public static 返回值类型 方法名称(类型 参数1,类型 参数2,...) // { // 程序语句 // [return 表达式]; // } // //这里和C++一样存在重载。 ...

2019-01-02 23:43:45 147

原创 Java day1

//这里最好大写,因为在JAVA的编程规范里面,类的名字首字母要大写,而文件的名字要跟类名保持一致 //这里是不符合规定的,这里正确的应该是 文件名为Hello.java 类名应该叫public class Hello//下面是第一个java应用程序/* public c...

2019-01-02 22:50:59 131

原创 C++抛出异常

#include<iostream>#include<cmath>using namespace std;#if 0//C语言中错误的处理,通常是采用返回值的方式或是置位全局变量的方式。这就存在两个问题。如果返回值正是我们需要的数据,且返回数据同出错数据容错差不多。全局变量,在多线程中易发生竞争。而且,当错误发生的时候,上级函数要出错处理,层层上报,造成过多的出错处...

2018-05-29 01:51:34 5610

原创 C++输入输出流

cin和cout充当了scanf和printf的功能,但是他们不是函数,而是类对象,那么我们有必要了解一下,他们是哪些类的对象。关于输入输出流有下图这么一个整套的东西,这整套东西很复杂,我们一般来说不去研究,但是呢,我们可以从继承关系看出它属于哪个流类的对象,首先有一个叫ios_base,ios继承ios_base,这个箭头画的不对,真正的继承体系中,箭头应该指向父类。ios又派生了istream...

2018-05-15 01:08:41 11620

原创 C++之verctor

#include<iostream>#include<vector>using namespace std;int main(){ //这里相比较前面的,vector其实是个类模板,然后你vector<int>就是个模板类。 //vi就是个类对象,然后这个10就是个参数。它里面有两个很重要的东西,输出这个东西。 //这个size...

2018-05-13 02:57:53 549

原创 C++之模板

#include<iostream>using namespace std;/* * 模板:Templates * 泛型(Generic Programming)即是指具有在多种数据类型上皆可操作的含意。泛型编程的代表作品STL是一种高效、泛型、可交互操作的软件组件 * 泛型编程最初诞生于C++中,目的是为了实现C++的STL(标准模板库)。其语言支持机制就是模板(Templ...

2018-05-13 02:07:33 188

原创 C++day26之rtti

#include<iostream>#include<typeinfo>using namespace std;typedef void (*PF)(int);/* *RTTI:run time type identification typeid,dynamic_cast运行时类型信息,在运行时需要检查类型信息的,那就是多态。所以说这两个东西只有用于多态才有...

2018-05-07 23:47:06 200

原创 C++学习之25

#include<iostream>using namespace std;#if 0C++有一种设计原则叫做依赖导致,也是基于多态的。定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。#endif//这个I是interface的意思。class IReader{public: virtual string ge...

2018-04-09 01:15:44 272

原创 C++学习Day24z之多态

#include<iostream>using namespace std;/*C++中所谓的多态(polymorphism)是指,由继承而产生的相关的不同的类,其对象对同一消息会作出不同的相应 * 多态性是面向对象程序设计的一个重要特性,能增加程序的灵活性,可以减轻系统升级,维护调试的工作量和复杂度。*//*多态实现的前提是赋值兼容。 * 赋值兼容规则是指在需要基类对象的...

2018-04-07 03:35:06 226

原创 C++学习day23之多继承

从继承的类别上分,继承可以分成多继承和单继承,前面讲的都是单继承。这里其实很容易划分,单继承就是一个父类,多继承就是多个父类。在生活当中有什么意思呢,生活当中,鱼与熊掌不可兼得。但是到了计算机就可以实现,生成一种新的对象,叫做熊掌鱼,多继承自鱼和熊掌即可。再拿我们的沙发床来说,即可以当沙发又可以当床。#include<iostream>using namespace std;cl...

2018-03-30 01:25:27 155

原创 C++学习day22之继承与派生

#include<iostream>using namespace std;/* *类内部的private protected public 影响的访问权限 *继承中的private protected public 影响的是父类中的成员在子类中的访问权限的 问题 这个访问权限包括两部分。1.在子类中 2.在子类对象中。 *99%情况下只是用public继承方式。 *...

2018-03-28 01:16:33 228

原创 派生类的友员函数

#include<iostream>using namespace std;class Student{public: Student() :a(50),b(60) { } friend ostream &operator<<(ostream &out,Student &stu);p...

2018-03-25 11:29:04 211

原创 C++学习day21之继承与派生2

#include<iostream>using namespace std;/* *这里会输出Father和Son, *跟我们前面讲的不一样啊。 *这里的父类构造器调用了。 */ #if 0class Father{public: Father() { cout<<"Father"<<endl; ...

2018-03-02 01:36:17 159

原创 C++学习day20之继承与派生1

#include<iostream>using namespace std;/* * *Inherit(继承)&&Derive(派生)这个单词看起来是两个不同的单词 *但是表达的是一个意思 儿子继承父亲,父亲派生儿子 *这两个从不同的角度去说明父子关系,只是角度不一样 *那么继承和派生到底解决了什么问题呢,解决了C++中可重用性 * *//* ...

2018-03-01 23:42:26 223

原创 C++之伪函数

#include<iostream>#include<vector>#include<algorithm>using namespace std;/* *函数操作符()-----仿函数 *把类对象像函数名一样使用 *伪函数,就是使用一个类的使用看上去像一个函数,其实现就是类中实现一个 *operator(),这个类就有了类似函数的行为,就是一个伪...

2018-02-26 00:56:37 3225

原创 C++学习day18之 指向类成员的指针

#include<iostream>using namespace std;//指向类成员的指针//类成员就包含两类,一类是数据成员,一类是函数成员。//一定要看好,这里是类数据成员,不是对象数据成员//指向类数据成员的指针//定义<数据类型><类名>::*<指针名>//赋值&初始化//<数据类型><类名&...

2018-02-26 00:51:54 198

原创 C++学习17之友元

#include<iostream>using namespace std;/* *有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成 *员,这时可以将这些函数定义为该函数的友元函数。 *同类对象间无私处,异类对象间有友元 *除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行 *效率(即减少了类型检查和安全性检查等都需要实...

2018-02-26 00:41:57 191

原创 C++学习16之static

#include<iostream>using namespace std;/* *我们先来回顾一下C语言的static *C语言中的static可以修饰两类东西 *第一个是全局变量,第二个是局部变量 *全局变量有个特点叫外链性 作用域仅限于本文件 就是修饰了作用域 *作为局部变量的时候,限制了生命周期和存储位置,以前对于一个局部变量来说 *存储位置在栈上面,但是加了...

2018-02-26 00:30:42 143

原创 C++学习day15之const

#include<iostream>using namespace std;/* *const修饰符 *1.const可以修饰数据成员,成员函数,类对象 *2.修饰数据成员的时候:初始化的位置只能在参数列表里面。 * 虽然你在构建类成员的时候能给初始值 * 但是我们构造类成员是用来定义...

2018-02-26 00:29:49 204

原创 C++学习day14之成员函数的存储

#include<iostream>#include<iomanip>using namespace std;/* *我们一直在说一个问题,那就是这个类的大小大概有多大呢 *它只包含数据类型的大小,不包含函数的大小。 *看下面这个例子,这里的输出结果为12。所以这里面的size是不包含函数的。 * */ #if 0class Time{public:...

2018-02-26 00:26:26 140

原创 C++学习day13之返回值

#include<iostream>#include<cstdio>using namespace std;/* *先了解一下返回过程 *下面这段程序我们的main函数先压栈。然后里面放了一个i,然后func进入进行压栈 *我们func消失之后,那段栈就没了,那它是借助什么将返回值传递出去的呢。 *我们C语言是这么做的,它首先在外部找一个空间,func在消失以...

2018-02-26 00:20:16 126

原创 C++学习day12之this指针

#include<iostream>using namespace std;//下面的代码可以运行输出的结果是一样的//this 就是生成对象的时候的指针。//这个有什么好处呢//有一天你比较二//写了下面这段代码//class Stu//{//public:// Stu(string name,int age)// {// //这样会混乱,所以C++不能...

2018-02-26 00:16:48 127

原创 C++学习day11之string自实现

#include<iostream>#include<cstring>using namespace std;class String{public: String(const char *p=NULL) { if(p==NULL) { str=new char; *...

2018-02-25 23:13:18 153

原创 C++学习day10之构造器

#include<iostream>#include<cstring>using namespace std;/* *看我们前面所实现的,都会有一个init初始化, *然后我们想,这个初始化的工作能不能自动完成,比如你用string的时候 *你也没使用str.init(),我们不需要,实际上就是我们要学习的第一个叫做构造器 *构造器是什么东西,就是在构造...

2018-02-25 23:02:11 164

原创 C++学习day9之封装

#include<iostream>using namespace std;/* *C语言的封装风格 数据放到一起打包进struct,然后把数据以引用或指针的 *方式传给行为。 * *C++ 认为C封装不彻底 *数据和行为分类,没有权限控制。 *C++ 对内数据开放,逻辑抽象,对外,提供接口 * */ /* *类里面默认的是私有的。 *等价于 *class...

2018-02-25 22:53:26 145

原创 C++学习day8之string

#include<iostream>#include<cstring>using namespace std;/* *string 其实不是关键字,而是std下面的一个类。 * * */ int main(){ /* *类的初始化的方式还有很多,比如string str("china"); *string str="hello"...

2018-02-25 22:41:53 150

原创 C++学习day7之namespace

#include<iostream>using namespace std;/*命名空间为了大型项目开发,而引入的一种避免命名冲突的一种机制 *比如说,在一个大型项目中,要用到多家软件开发商提供的类库。在 *事先没有约定的情况下,两套类库可能存在同名的函数或是全局变量而 *产生冲突。项目越大,用到的库越多,开发人员越多,这种冲突就会约 *明显 */#if 0int v...

2018-02-25 22:35:34 119

原创 C++学习day7之类型转换

int main(){/* *假设我们定义一个float a=5.6; *int b=5; *如果我把float强转为int的话,就会把小数点给截没了,我把b转为float的话 *5就会变为5.0。static_cast对隐式类型转换,即可以使用此类型 * b=static_cast<int>(a); */#if 0 float a=5.6; int...

2018-02-25 22:34:01 134

原创 C++学习day6之内联函数

#include<iostream>using namespace std;/* *宏函数的优缺点 *宏函数像这样的:#define SQR(i) ((i)*(i)) *优点:代码内嵌,不用发生函数调用。 *缺点:容易产生歧义,易使text段体积增大,不会进行类型检查 */ /*** * *函数的优缺点 *优点:一段高度抽象的逻辑,不易产生歧义,是text段体...

2018-02-25 22:25:20 141

原创 C++学习day5之new_and_delete

#include<iostream>#include<stdlib.h>//#include<string.h>#include<cstring>using namespace std;int main(){#if 0 /*C语言中提供了malloc和free两个系列打函数,完成对堆内存的申请和释放 *但是C++则提...

2018-02-25 22:20:26 110

原创 C++学习day4之引用

#include<iostream>using namespace std;/* 变量名,本身是一段内存的引用,即别名。此处引入的引用,是为已有变量起一个别名 */int main(){ /* * int a=100; *这是a是个变量名,实质是一段内存空间的别名, *这个就是出生的时候给它的。日后我们还可以给它取个别名,如下 ...

2018-02-25 22:04:44 141

原创 C++学习day3之默认参数

#include<iostream>#include<time.h>using namespace std;//这个世界上很多东西都是有默认状态的。//这里可以给个默认参数 为2.5;//后面你调用的时候不传参数就是默认参数。 ////对于一个参数来说void Weather_Cast(string weather = "rainy"){ t...

2018-02-25 22:02:58 111

原创 C++学习day3之运算符重载

#include<iostream>using namespace std;#if 0struct Complex //复数{ float real; float image;};Complex operator+(Complex a,Complex b){ Complex c; c.real = a.real+b.real; c...

2018-02-25 21:59:33 202

原创 C++学习day2之函数重载

#include<iostream>using namespace std;/* *函数重载:同一个东西表示两个不同的意思,俩个不同的意思怎么区分呢,由语境决定,C语言里面函数名是不能相同的。 * *int func(int a) *int func(char b) *如果你int a=10;func(a)的话就是调用的int func(int a),看语境的。 *重...

2018-02-25 21:57:09 241

原创 C++学习day1之C++与C基础比较

/* * *这里主要说明C和C++类型增强的程序 * */#include<stdio.h>#include<stdlib.h>int main(){ /***C语言 const int a; 不赋初始值 * 如果你这样定义,只是你后面不能给他赋值,不代表编译不过去, * 但是C++不行,C++编译都通不过去 * 还有...

2018-02-25 13:39:05 165

原创 SPI协议和OLED

一个芯片下面可以接很多个SPI设备,比如说SPI FLASH,SPI OLED,它们直接通过三条先来传输数据。第一条线是时钟线,然后是DO线,就是date output就是芯片给外设发数据然后读数据的话就是DI, 芯片上有很多个SPI设备,但是我们怎么区分要访问哪一个设备呢,所以就会有一个CS0,片选引脚。在硬件上,都是通过SCK,DI,DO来传输数据,都是通过CS来片选。那数据是怎么传的呢,

2017-12-30 16:10:05 4941

空空如也

空空如也

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

TA关注的人

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