自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++多态

对于不同的交通工具,比如汽车和自行车,它们的移动方式是不同的。你需要一个具体的交通工具,比如“汽车”或“自行车”,它们根据“交通工具”的概念具体实现了移动的功能。想象一下,你有一个遥控器(这就像是一个基类的指针),这个遥控器可以控制不同的电子设备(这些设备就像是派生类)。无论是电视、音响还是灯光,遥控器上的“开/关”按钮(这个按钮就像是一个虚函数)都能控制它们,但具体的操作(打开电视、播放音乐、开灯)则取决于你指向的设备。当我们使用基类类型的指针或引用来调用虚函数时,实际调用的是对象的实际类型(派生类)

2024-12-15 13:09:38 673

原创 C++类的继承,基类构造函数,虚函数,虚继承,多重继承

类的继承,基类构造函数,虚函数,虚继承,多重继承

2024-12-14 13:15:00 769

原创 C++静态成员

静态成员在C++类中是一个重要的概念,它包括静态成员变量和静态成员函数。静态成员的特点和存在的意义如下:静态成员变量1. 定义:静态成员变量是类的所有对象共享的变量。与普通成员变量相比,无论创建了多少个类的实例,静态成员变量只有一份拷贝。2. 初始化:静态成员变量需要在类外进行初始化,通常在类的实现文件中。3. 访问:静态成员变量可以通过类名直接访问,不需要创建类的对象。也可以通过类的对象访问。4. 用途:常用于存储类级别的信息(例如,计数类的实例数量)或全局数据需要被类的所有实例共享。

2024-12-14 10:09:08 251

原创 C++关键字this和new

在 C++ 中, this 关键字是一个指向调用对象的指针。它在成员函数内部使用,用于引用调用该函数的对象。使用 this 可以明确指出成员函数正在操作的是哪个对象的数据成员。下面是一个使用 Car 类来展示 this 关键字用法的示例:在这个例子中, Car 类的构造函数使用 this 指针来区分成员变量和构造函数参数。同样, setYear成员函数使用 this 指针来返回调用该函数的对象的引用,这允许链式调用,myCar.setYear(2021).display();。

2024-12-12 21:56:29 434

原创 C++构造函数和析构函数

析构函数是C++中的一个特殊的成员函数,它在对象生命周期结束时被自动调用,用于执行对象销毁前的清理工作。析构函数特别重要,尤其是在涉及动态分配的资源(如内存、文件句柄、网络连接等)的情况下。和python中__del__类似基本特性1.名称:析构函数的名称由波浪号( ~ )后跟类名构成,如 ~MyClass()。2.无返回值和参数:析构函数不接受任何参数,也不返回任何值。3.自动调用。

2024-12-12 21:36:23 485

原创 C++中引用和重载

不能重载两个基本类型的运算符。3.

2024-12-11 22:55:27 977

原创 C++权限

银行的账户是一个模板,是一个类,有存款人信息和账户额度,而具体的存款人视为一个对象,一个对象不能私自修改账户额度,需要通过一个操作流程,比如去ATM或者柜台进行操作才能修改到账户额度,所以,存款人信息和账户额度设计成私有权限,通过公有的操作流程,也就是公有函数去操作私有变量。C++中的访问权限主要分为三种: public 、 private 和 protected。这些权限决定了类成员(包括数据成员和成员函数)的可访问性。基于这个场景,我们编程实现代码。通过一个例子来进一步了解。

2024-12-11 22:15:39 204

原创 C++中的类

C++ 中的类(class)是一种编程结构,用于创建对象。这些对象可以拥有属性(即数据成员)和行为(即成员函数或方法)。类的概念是面向对象编程的核心之一,其主要目的是将数据和与数据相关的操作封装在一起。例如,如果你有一个“汽车”类,它可能包含颜色、品牌、型号等属性(数据成员),以及启动、停止、加速等行为(成员函数)。每当你基于这个类创建一个对象时,你就有了一个具体的汽车,具有这些属性和行为。C++ 类的基本结构通常包含:1.:定义类的属性。这些是类内部的变量,用于存储对象的状态。2.

2024-12-11 21:49:33 697

原创 Lambda 函数和内联函数在 C++ 中的相似之处和区别

虽然 Lambda 函数和内联函数在某些方面有相似之处,如它们都可以被编译器优化以减少调用开销,但它们在设计和用途上有明显的不同。Lambda 函数的核心优势在于它们的匿名性和对外部变量的捕获能力,而内联函数则主要关注于提高小型函数的性能。

2024-12-08 12:44:12 182

原创 <三>51单片机PWM开发SG90和超声测距

PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%.型号:HC-SR04接线参考:模块除了两个电源引脚外,还有TRIG,ECHO引脚,这两个引脚分别接我们开发板的P1.5和P1.6端口怎么让它发送波?

2024-12-01 21:01:15 989

原创 <二>51单片机定时器和中断

C51中的定时器和计数器是同一个硬件电路支持的,通过寄存器配置不同,就可以将他当做定时器或者计数器使用。确切的说,定时器和计数器区别是致使他们背后的计数存储器加1的信号不同。当配置为定时器使用时,每经过1个机器周期,计数存储器的值就加1。而当配置为计数器时,每来一个负跳变信号(信号从P3.4 或者P3.5引脚输入),就加1,以此达到计数的目的。标准C51有2个定时器/计数器:T0和T1。他们的使用方法一致。C52相比C51多了一个T2。

2024-12-01 10:46:47 717

原创 <一>51单片机环境

1. 创建项目工程文件夹,可以当作模板Template2. 创建文件,取名main.c3,编译,选择输出文件有hex4. 进入keil主页面,工具栏project->new uVision project->选择第一步的工程文件夹位置->输入工程名字->选择芯片类型AT89c52->会提示是否拷贝STARTUP.A51,选择是->生成了工程目录->在工程目录Source Group1上右键鼠标->add Exiting file to Source Group1...->选择代码文。

2024-12-01 10:17:37 456

原创 C语言实现贪吃蛇小游戏

Linux系统编程文件编程,线程通信(移动和图形刷新是在两个线程实现,既要两个while结构同时运行),第三方包等。6,多线程实现地图和蛇移动同时刷新地图(踩坑,两个线程之间最好加上睡眠,不然可能地图乱码)2,利用结构体实现链表,实现蛇的身子,链表头尾增加实现移动及吃食物增加长度。3,curses实现键盘方向键的输入(4,结构体实现food,随机出现在地图。基础C变量,流程控制,函数,指针,结构体等。1,用控制语句实现地图方框。数据结构链表(用于实现蛇,食物,可参考,5,地图边界的判定等等。

2024-11-27 23:53:19 390

原创 格子打印中

【代码】格子打印中。

2024-11-25 22:41:58 113

原创 C语言链表的实现,详解!!!

链表也是一种数据结构,说到我们就要和数组进行对比,数组中的数据在内存中是连续的,线性表中的数据结点在内存中的位置是任意的,即逻辑上是线性的数据元素在物理位置(内存存储的位置)上不一定相邻.链表的结构我们可以定义一个结构体,结构中的next指向下一个结构体的指针,这样就把数据链起来了int data;

2024-11-24 13:12:16 551

原创 C语言:结构体

综合的一个demo,设计数组,指针,指针函数,结构体。

2024-11-23 08:42:12 131

原创 C语言:自定义strcopy,strlen,strcat函数

strcpy:将一个字符串复制到另一个字符串中。strncpy:指定复制字符串的最大长度。strdup:复制一个字符串,返回一个指向这个复制字符串的指针。strcat:将一个字符串连接到另一个字符串末尾。strncat:指定连接字符串的最大长度。strcmp:比较两个字符串。strncmp:比较两个字符串的前 n 个字符是否相等。strlen:返回字符串的长度。strchr:在字符串中查找指定字符。strstr:在字符串中查找指定子字符串。

2024-11-21 21:05:55 437

原创 C语言中的内存管理(栈、堆、全局静态区、常量区、代码区)

程序执行时,每当进入一个函数,函数的局部变量和参数都会被压入栈中。C语言中内存分为5部分(栈、堆、全局静态区、常量区、代码区),不同的区域,有不同的用途,有不同的管理策略,生命周期也不一样。栈内存的管理由编译器自动完成,这提高了内存操作的效率,使得栈成为存储局部变量和函数参数的理想位置。生命周期:栈上变量的生命周期与其所在函数的执行时间相同,即变量在函数执行期间存在,当函数返回后,变量也就消失。快速分配:由于栈是LIFO结构,新的变量分配只是简单地移动栈指针,因此分配速度非常快。

2024-11-20 20:34:20 564

原创 C语言sizeof和strlen的区别

结果如上,是因为字符串在内存中是以'\0'结尾的,sizeof()关键字是获取整个字符串的大小,strlen()函数是获取实际有效长度。3、而sizeof 测量的是字符的分配大小,它的参数可以是数组、指针、类型、对象、函数等。测量的是字符串的实际长度,以’\0’ 结束,返回结果不包括’\0’。1、sizeof是关键字(运算符),strlen是C语言标准库函数。

2024-11-20 20:11:14 200

原创 函数指针数组,很魔鬼!!!

【代码】函数指针数组,很魔鬼!!!

2024-11-18 23:29:09 355

原创 C语言指针函数,函数指针练习demo

指针函数需求,利用指针函数,输入学生号,0,1,2打印学生的所有成绩,学生成绩用4行4列的二维数组,表示有3位学生,学生有4科成绩。

2024-11-18 23:00:55 121

原创 C语言二维数组的地址写法,见怪不怪

【代码】C语言二维数组的地址写法,见怪不怪。

2024-11-17 21:42:48 138

原创 数组名和指针的区别

【代码】数组名和指针的区别。

2024-11-17 14:01:24 96

原创 C语言:任意输入三个整数,从小到大输出,函数的方式实现(指针)

解法:引入第四个“变量”,作为这3个数的中间存储空间进行转换!指针作为函数的参数去实现。要求:将输入的三个数中,从小到大输出,用函数实现。

2024-11-17 10:52:35 241

原创 C语言中指针函数和函数指针

上述代码中 int *fun_sum(int n) 就是一个指针函数,其功能很简单,就是自然数求和,其结果通过指针的方式返回给调用方,指针函数中用到了。我们知道,函数的定义是存在于代码段,因此,每个函数在代码段中,也有着自己的入口地址,的本质是一个指针,该指针的地址指向了一个函数,所以它是指向函数的指针。去修饰变量,如果不用static修饰静态变量,结果就会出错,原因就是。和局域变量的区别,因此,在使用指针函数的时候,一定要避免出现。顾名思义,它的本质是一个函数,不过它的返回值是一个指针。

2024-11-16 15:21:53 408

原创 冒泡排序(C语言)

两两相邻的元素进行比较,并且有可能的话需要交换。三、冒泡排序的结果打印。

2024-11-16 12:13:20 218

原创 斐波拉契数列(C语言)

斐波那契数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)//斐波拉契数列int i;int length;for (i=3;i

2024-11-16 11:37:52 200

原创 Flask学习<5>:模板简介

模板简介:模板是一个web开发必备的模块。因为我们在渲染一个网页的时候,并不是只渲染一个纯文本字符串,而是需要渲染一个有富文本标签的页面。这时候我们就需要使用模板了。在Flask中,配套的模板是Jinja2!Flask渲染Jinja模板:要渲染一个模板,通过render_template方法即可:from flask import Flaskfrom flask import...

2020-02-25 10:49:48 156

原创 python pip 安装 (国内豆瓣镜像云),避免超时

python -m pip install tensorflow(如果你安装的是别的库,请输入别的库名) -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

2020-02-17 19:46:45 1022

原创 Flask学习<4>:URL与视图

URL与视图URL与函数的映射:之前的helloworld.py文件中,我们已经看到,一个URL要与执行函数进行映射,使用的是@app.route装饰器。@app.route装饰器中,可以指定URL的规则来进行更加详细的映射,比如现在要映射一个文章详情的URL,文章详情的URL是/index/id/,id有可能为1、2、3…,那么可以通过以下方式:@app.route('/index...

2020-01-07 17:06:05 152

原创 Flask学习<3>:项目初始配置

DEBUG模式设置默认情况下flask不会开启DEBUG模式,开启DEBUG模式后,flask会在每次保存代码的时候自动的重新载入代码,并且如果代码有错误,会在终端进行提示。开启DEBUG模式有三种方式#1,直接在应用对象设置app.debug = Trueapp.run()#2,在执行run的时候,传递参数app.run(debug=True)#3,在config属性...

2020-01-07 16:58:22 100

原创 Flask学习<2>:Flask简介

Flask简介:flask是一款非常流行的Python Web框架,2010年,作者是Armin Ronacher。flask自2010年发布第一个版本以来,大受欢迎,深得开发者的喜爱,并且在多个公司已经得到了应用,flask能如此流行的原因,可以分为以下几点:微框架、简洁、只做他需要做的,给开发者提供了很大的扩展性。 Flask和相应的插件写得很好,用起来很爽。 开发效率非常高,...

2020-01-03 14:35:44 240

原创 Flask学习<1>:web认识?

web服务器和应用服务器以及web应用框架:web服务器:负责处理http请求,响应静态文件,常见的有Apache,Nginx. 应用服务器:负责处理逻辑的服务器。比如php、python的代码,是不能直接通过nginx这种web服务器来处理的,只能通过应用服务器来处理,常见的应用服务器有uwsgi、tomcat等。 web应用框架:一般使用某种语言,封装了常用的web功能的框架就是web...

2020-01-03 14:32:29 112

原创 Python保龄球计分Demo

找工作,笔试题,恶心到想吐,和大家分享下,在网上只有Java的demo,我这个python菜鸟,分享下python的demo......需求:保龄球计分规则如下,写出一个计分的demo一局有十格,每格有两次投球机会,如在第一次投球时没能全中,就有需要投第二球。每格可能出现的情况:1、失球 在两次投后,未能击倒10个瓶,此格的分数为击倒的个数。如果一次击球未击到一个,则用一个“-”标记...

2018-12-27 21:17:12 1311 1

原创 冒泡的思想

冒泡排序的思想:相邻的两个数(小---&gt;大,大---&gt;小)进行排序我们可以通过一个实例来看下,冒泡的思想list1=[13,56,78,35]13,56,78,3556,13,78,3556,78,13,3556,78,35,13-------------78,56,35,1378,56,35,1378,56,35,13-------------78,56,35,13...

2018-06-17 15:29:46 286

Python基础知识汇总

python基础知识总结,涵盖了整个基础知识框架,对每一个概念及知识点都做出了总结,开启你的python之路吧

2018-06-21

空空如也

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

TA关注的人

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