自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用函数模板写冒泡排序法

bubble_sort.cpp 记住这个写法,冒泡排序背下来 #include <iostream>using namespace std;//输入//函数模板template <typename T> //函数模板参数列表void get(T *array, int Len) //模板函数参数列表{ for(in...

2018-08-02 11:12:54 3911

原创 建立一个形状类Shape作为基类,派生出圆类Circle和矩形类Rectangle,求出面积并获取相关信息。

类的继承 作业题:(7月29日写)1.建立一个形状类Shape作为基类,派生出圆类Circle和矩形类Rectangle,求出面积并获取相关信息。具体要求如下:(1)形状类Shape(a)保护数据成员double x,y:对于不同的形状,x和y表示不同的含义,如对于圆,x和y均表示圆的半径,而对于矩形,x表示矩形的长,y表示矩形的宽。访问权限定义为保护类型是为了能被继承下去,以便派生类能...

2018-07-29 10:46:06 16047 1

原创 C++中模板类型推断

类型推导:类型推导规则问题1:我们为什么要掌握类型推导规则?答:只有当我们熟悉类型推导的规则,才能让我们的代码更加的灵活,通用性好。类型推导的作用:代码更加的灵活,通用性好类型推导的适用场景:函数模板、类模板(万能引用)autodecltypedecltype(auto)函数模板的类型推导规则:知识点1:万能引用(未定义引用)(只限定函数模板,在...

2020-02-14 18:27:12 1293

原创 STM32f4基本定时器终端控制LED灯亮灭

STM32中的定时器分类:基本定时器、通用定时器、高级定时器  。  429有2个高级定时器、10个通用定时器、2个基本定时器                                         基本定时器功能简介1-计数器16bit,只能向上计数,只有TIM6和TIM72-没有外部的GPIO,是内部资源,只能用来定时3-时钟来自PCLK1,可实现1~65536分频...

2019-01-30 10:45:38 2043

原创 Mysql的基本知识

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。Mysql是开源的,所以你不需要支付额外的费用。Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。MySQL使用标准的SQL数据语言形式。Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、...

2018-08-18 21:39:15 546

原创 QT的基本知识

QT是一个跨平台应用程序和UI开发框架。具体的安装以及源文件的下载这里不详细介绍。要在QT界面上添加一个按钮,可以有两种方法:一个是直接拖放一个按钮即可;另一种则是通过程序来添加一种按钮。QT提供的信号和槽机制,可以让任意两个对象之间进行消息处理,其作用就是让一个对象产生的信号能够被另一个对象接受并处理。QT基本所有的对象都集成在QObject对象中,在这个对象中有一个静态函数connect...

2018-08-16 21:29:39 18092 2

原创 设计模式之单例模式

设计模式可以分为三大类型:创建型模式;结构型模式;行为型模式设计模式的基本原则:(为了实现高内聚低耦合)1)开放封闭原则2)依赖倒置原则3)单一职责原则4)接口隔离原则5)里氏替换原则6)优先使用组合而不是继承原则7)迪米特法则常用设计模式1:单例模式(创建型模式)作用:保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象选择单例模式的...

2018-08-15 16:46:36 190

原创 set的基本知识及案例

set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列。元素插入过程是按排序规则插入,所以不能指定插入位置。set采用红黑树变体的数据结构实现,红黑树属于平衡二叉树。在插入操作和删除操作上比vector快。set不可以直接存取元素。(不可以使用at.(pos)与[]操作符)。multiset与set的区别:set支持唯一键值,每个元素值只能出现一次;而multiset中...

2018-08-14 21:14:07 5525

原创 stack的基本知识及案例

stack简介stack是堆栈容器,是一种“先进后出”的容器。stack是简单地装饰deque容器而成为另外的一种容器。#include <stack> stack的默认构造stack采用模板类实现, stack对象的默认构造形式: stack <T> stkT; stack <int> stkInt;            //一个存放int...

2018-08-13 10:16:40 555

原创 List的基本知识及案例

List简介list是一个双向链表容器,可高效地进行插入删除元素。list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符。It++(ok) it+5(err)#include <list> List对象的默认构造list采用采用模板类实现,对象的默认构造形式:list<T> lstT;  如:list<int> lstInt; ...

2018-08-13 10:09:05 691

原创 deque的基本知识及案例

deque的基本知识 deque是“double-ended queue”的缩写,和vector一样都是STL的容器,deque是双端数组,而vector是单端的。deque在接口上和vector非常相似,在许多操作的地方可以直接替换。deque可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法,这个等下会详讲)。deque头部和尾部添加或移除元素都非常快速。但是在中部安...

2018-08-11 16:27:35 2654

原创 vector容器介绍

Vector概念vector是将元素置于一个动态数组中加以管理的容器。vector可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法)。vector尾部添加或移除元素非常快速,但是在中部或头部插入元素或移除元素比较费时。vector采用模板类实现,vector对象的默认构造形式                      vector<T> vecT; eg...

2018-08-10 15:32:02 1260 1

原创 string容器详解

string是STL的字符串类型,通常用来表示字符串。而在使用string之前,字符串通常是用char*表示的。string与char*都可以用来表示字符串,那么二者有什么区别呢。string和char*的比较string是一个类, char*是一个指向字符的指针。string封装了char*,管理这个字符串,是一个char*型的容器。string不用考虑内存释放和越界。string管理...

2018-08-09 09:37:37 398

原创 STL标准模板基本概述

STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。现然主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。STL的从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),容器和算法通过迭代器可以进行无缝地连接。几乎所有的代码都采用了模板类和模板函数的方式,这相比于传统的...

2018-08-08 11:20:00 173

原创 用select函数写服务器

 selectserver.csocket:建立套接字   bind:绑定  listen:监听  select:     accept:接收消息 #include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <stdlib.h>#include ...

2018-08-07 10:32:27 338

原创 TCP的服务器与客户端

 server.csocket:建立套接字   bind:绑定  listen:监听  accept:接受网络请求#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <stdlib.h>#include <netinet/in.h&gt...

2018-08-06 20:06:58 473

原创 异常处理机制

 1)异常是一种程序控制机制,与函数机制独立和互补    函数是一种以栈结构展开的上下函数衔接的程序控制系统,异常是另一种控制结构,它依附于栈结构,却可以同时设置多个异常类型作为网捕条件,从而以类型匹配在栈机制中跳跃回馈.2)异常设计目的:    栈机制是一种高度节律性控制机制,面向对象编程却要求对象之间有方向、有目的的控制传动,从一开始,异常就是冲着改变程序控制结构,以适应面向对象程序更有...

2018-08-05 19:01:39 212

原创 c++中的类型转换

c语言中强制类型转换存在问题:  任意类型之间都可以进行转换,编译器很难判断其正确性;  在源码中无法快速定位所有使用强制类型转换的语句1.static_cast    用于基本类型之间的转换,但不能用于基本指针类型的转换。    用于有继承关系类对象之间的转换和指针之间的转化。  static_cast是在编译期间进行转换的,无法在运行时检测类型static_cast....

2018-08-04 14:55:09 172

原创 类模板

什么是类模板?       模板的目的就是为了淡化数据类型的要求,作出通用数据类型的模板。类中的成员变量和成员函数都牵涉到了数据类型。       在成员函数、成员变量以及基类中包含有类型参数的类称为类模板。       和函数模板一样,类模板只是一个模板,并不是真正的类。形式:template<class T1, class T2, ... ,class Tn>  ...

2018-08-03 11:31:18 1947

原创 函数模板

以前写一个通用函数一般是函数重载。缺点:代码复用率不高,新类型参数出现,得重写函数。它不能解决返回值不同的问题。而且重载的函数内部大致一样,一错全错。多态,也只是重载的的另外一种体现。为了解决上面的不足所以有了函数模板。1.函数模板什么?答:严格来说函数模板并不是真正意义上的函数,它的类型不明确只有在调用的时候才知道。它是为了函数的通用而存在的。2.函数模板怎么写?格式就是:tem...

2018-08-02 10:17:47 165

原创 员工薪资问题

首先在Employee.h里面写入所需要的类,Manager,Technician,SalesMan,SaleManager.考录到SaleManager既有固定薪水又有提成,所以直接让它继承Manager和SaleMan,因此为了减省代码和空间,将manager和SaleMan都是虚继承。c++中没有java中接口这个概念,可以用纯虚函数实现接口 。为了计算销售人员的数目,用了两个静...

2018-08-01 21:09:07 377

原创 &&和||不能写重载函数

#include <iostream>using namespace std;class Test{private: int m_a;public: Test(int a); bool operator &&(Test &t); Test operator +(const Test &t);};Test::Test(int ...

2018-07-30 20:46:54 201

原创 malloc与new

 malloc和free搭配使用;new和delete搭配使用普通的定义一个变量,他是存放在栈里,由操作系统管理,自动分配和释放若用malloc申请一个空间,就是在堆上进行操作,手动申请和释放int *p3=new int(100); //100为初始值int *p4=new int[100];   //初始化数组malloc和new的区别(转载自nie19940803的博客)...

2018-07-29 09:39:51 222

原创 如何建立一个存放学生信息的结构体链表

 MyList类中使用了Student的对象作为私有变量 学生类作为一个单独的节点,有next指针,类似于一个结构体,再用MyList类建立链表,每次使用new运算符开辟一个新的结点 Student.h#ifndef _STUDENT_H#define _STUDENT_Hclass Student{private: char name[20]; int age; c...

2018-07-27 10:30:14 2994

原创 匿名对象生命周期只有一句代码

类的成员变量存放在堆或栈上,而成员函数存放在代码段上,所有的对象共享成员函数像Test(1,2);这种为匿名对象,特别之处是:这一行代码结束时,就自动调用析构函数;而Test t2(3,4);就是从代码开始创建一个对象,直到函数结束才被释放。Test t3(6,4);    <<==== >>  Test t3 =Test(6,4); #include &...

2018-07-26 15:35:20 229

原创 对象初始化列表

7月24日上课笔记:遇到有两个类 Birthday和Student同时都有含参数的构造函数,且在Student类中私有变量为Birthday m_birth;Birthday(int y, int m, int d);           //有参数的构造参数 Birthday.cpp#include <iostream>using namespace std;...

2018-07-25 13:14:53 453

原创 建立一个圆类和点类,求出一个点和圆的关系。

CirclePoint.cpp7月22日上课记录:题目:建立一个圆类和点类,求出一个点和圆的关系。Point.h文件#ifndef _POINT_H#define _POINT_Hclass Point{private: int ind_x; int ind_y;public: void Set_Point(int x, int y); int GetDistanc...

2018-07-25 11:20:11 1163

原创 c++和c语言的区别

7月18日上课笔记:c++和c语言的区别:c++:程序中iostream为c++头文件;c++中必须要有返回值,哪怕是void(函数类型就是返回值类型)三目运算符(条件运算符)可以作为左值,因为它的返回值类型为变量而非表达式的值;cout << a << endl;为打印出a的值;const和define的区别:作用域不一样。const定义局部变量,...

2018-07-20 16:33:58 354

空空如也

空空如也

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

TA关注的人

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