自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (4)
  • 收藏
  • 关注

原创 C++类与对象--7 特性三:多态

多态是面向对象编程中的重要概念,分为静态多态和动态多态。静态多态通过函数重载和运算符重载在编译阶段确定函数地址,而动态多态通过继承和虚函数在运行阶段确定函数地址。动态多态的实现依赖于父类的引用或指针指向子类对象,并通过虚函数的重写实现不同子类的行为。纯虚函数使父类成为抽象类,子类必须重写纯虚函数才能实例化。虚析构和纯虚析构函数用于解决多态中父类指针无法调用子类析构函数释放堆区内存的问题,确保资源正确释放。

2025-05-20 20:47:40 482

原创 C++类与对象--6 特性二:继承

继承是面向对象编程中的关键技术,用于减少代码重复并提高代码复用性。通过继承,子类可以继承父类的属性和方法,同时可以添加或重写父类的功能。继承方式包括公共、保护和私有继承,但子类无法访问父类的私有成员。在继承中,父类的非静态成员属性会被子类继承,占用子类内存空间。创建子类对象时,会先调用父类的构造函数,再调用子类的构造函数,析构顺序则相反。当父类和子类有同名成员时,子类对象默认访问子类成员,需通过作用域访问父类成员。多继承允许子类继承多个父类,但需注意同名成员的二义性问题。菱形继承可能导致数据重复,通过虚继承

2025-05-20 20:15:17 495

原创 C++类与对象--5 运算符重载

本文介绍了C++中运算符重载的多种实现方式,以适应不同数据类型的操作需求。首先,通过成员函数和全局函数分别实现了加号运算符的重载,展示了如何对自定义数据类型进行加法运算。接着,讨论了左移运算符的重载,用于自定义数据类型的输出,并介绍了如何通过友元函数访问私有成员。此外,文章还详细说明了前置和后置递增运算符的重载,以及赋值运算符的重载,特别是处理堆区成员时的深拷贝问题。最后,介绍了关系运算符和函数调用运算符的重载,分别用于自定义数据类型的比较和仿函数的实现。这些重载技术增强了C++的灵活性和表达力,使得自定义

2025-05-19 22:15:32 349

原创 C++类与对象--4 友元

友元机制允许函数或类访问另一个类的私有成员,主要通过三种方式实现: 全局函数做友元:在类中声明全局函数为友元,使其能访问类的私有成员。 类做友元:将一个类声明为友元,使该类的所有成员函数都能访问另一个类的私有成员。 成员函数做友元:仅允许特定类的某个成员函数访问另一个类的私有成员,其他成员函数则不能访问。 通过这些方式,友元机制提供了灵活的访问控制,但需谨慎使用,以避免破坏封装性。

2025-05-19 21:58:36 237

原创 C++类与对象--3 C++对象模型和this指针

在C++中,类的成员变量和成员函数在内存中是分开存储的。非静态成员变量存储在对象上,而静态成员变量和所有成员函数不占对象空间。非静态成员函数通过this指针区分所属对象,this指针是一个指针常量,隐含在每一个非静态成员函数中,用于解决名称冲突和返回对象本身。此外,const修饰的成员函数称为常函数,其this指针指向的值无法修改。常对象只能调用常函数,且不允许修改其属性。这些机制增强了代码的健壮性和灵活性。

2025-05-19 21:45:40 229

原创 C++类与对象--2 对象的初始化和清理

C++中的面向对象编程(OOP)通过构造函数和析构函数管理对象的生命周期。构造函数用于初始化对象的成员属性,而析构函数则在对象销毁前进行清理工作。若不自定义,编译器会提供默认的空实现。构造函数可以根据参数和类型进行分类,如无参、有参、普通和拷贝构造函数,并通过不同方式调用(括号法、显示调用法、隐式转换法)。拷贝构造函数特别用于使用现有对象初始化新对象,或作为函数参数传递时。此外,构造函数调用规则指出,一旦自定义了有参或拷贝构造函数,编译器将不再提供默认无参构造函数。在处理动态内存时,深拷贝与浅拷贝的区别尤为

2025-05-17 21:31:17 1208

原创 C++类与对象--1 特性一:封装

C++面向对象编程的三大特性包括封装、继承和多态。封装通过将属性和行为作为一个整体来表现现实世界中的对象,并通过权限控制(如private、public、protected)来限制对类成员的访问。继承允许新创建的类接收现有类的属性和方法,而多态则使得不同类的对象可以对同一消息作出不同的响应。此外,C++中的类(class)和结构体(struct)的主要区别在于默认的访问权限:类默认是私有的,而结构体默认是公共的。这些特性共同支持了C++的面向对象设计,使得代码更加模块化、可重用和易于维护。

2025-05-17 21:02:52 288

原创 C++文件操作--2 二进制文件操作

在C++中,二进制文件的读写操作需要指定ios::binary模式。写二进制文件时,使用ofstream对象的write函数,其原型为ostream& write(const char* buffer, int len),其中buffer指向要写入的数据,len为字节数。读二进制文件时,使用ifstream对象的read函数,其原型为istream& read(char* buffer, int len),参数含义与write相同。示例代码展示了如何将Person类的对象以二进制形式写入文件

2025-05-17 20:56:04 304

原创 C++文件操作--1 文本文件操作

C++通过文件操作实现数据持久化,主要使用<fstream>头文件。文件分为文本文件和二进制文件,操作文件的类包括写操作类ofstream、读操作类ifstream和读写操作类fstream。写文本文件的步骤包括:包含头文件、创建流对象、打开文件、写入数据和关闭文件。读文本文件的步骤类似,但需判断文件是否成功打开,并按需选择全部读取、按行读取或按字符读取的方式。操作完成后需关闭文件以确保数据完整性和资源释放。

2025-05-15 21:23:07 412

原创 C++核心编程--3 函数提高

在C++中,函数的高级用法包括形参默认值、占位参数和函数重载。形参默认值允许在函数声明时为参数指定默认值,调用时未赋值的参数将使用默认值。需要注意的是,若某个参数有默认值,其后所有参数也必须有默认值。占位参数在函数形参列表中用于预留位置,调用时需填补,且占位参数也可有默认值。函数重载允许在同一作用域下定义同名函数,但参数类型或数量必须不同。值得注意的是,返回值不同不能作为重载条件,且当函数参数有默认值时,可能导致重载函数调用冲突。

2025-05-15 21:10:19 561

原创 C++核心编程--2 引用

引用是C++中为变量创建别名的一种机制,通过引用可以直接操作原始变量。引用在声明时必须初始化,且不能更改其指向的变量。引用常用于函数参数传递,简化了指针的使用,并可以作为函数返回值,但需注意不能返回局部变量的引用,因为局部变量在函数结束后会被释放。引用本质上是一个指针常量,其指向不可更改。此外,常量引用可以用于函数形参,以防止函数内部修改引用变量。通过这些特性,引用在C++编程中提供了高效且安全的变量操作方式。

2025-05-15 20:59:34 363

原创 C++核心编程--1 内存分区模型

C++程序执行时,内存主要划分为四个区域:代码区、全局区、栈区和堆区。程序运行前,内存分为代码区和全局区,代码区存放CPU执行的机器指令,具有共享和只读特性;全局区存放全局变量、静态变量和常量。程序运行后,栈区用于存放局部变量和函数参数,由编译器自动管理;堆区则由程序员手动分配和释放,通过new和delete操作管理内存。栈区需注意不要返回局部变量的地址,因为函数结束后局部变量会被自动释放。堆区管理需谨慎,避免内存泄漏。

2025-05-15 20:51:04 272

原创 前端基础CSS3之背景相关

背景相关 尺寸属性: background-size:100px 100px;<!--宽度100px,高度100px-->background-size:auto 100px;<!--宽度等比拉伸,高度100px-->background-size:cover;<!--等比拉伸,且宽高都要填满整个区域-->background-size:con...

2019-04-21 21:18:15 368

原创 前端基础CSS3之3d模块

3d转换模块 含义:元素有宽度、高度和厚度 启动:在父元素中加入属性transform-style:preserve-3d;即可呈现3d效果 正方体做法<!--保证所有的面转到正面都是正方向的-->: <!DOCTYPE html><html lang="en"><head> <meta charse...

2019-04-21 18:23:39 542

原创 前端基础CSS3之动画模块

动画模块 动画三要素:运动名称、创建一个该名称的动画、动画持续时长 第一种框架格式: p{ /*告诉系统运动的名称*/ animation-name:move; /*告诉系统运动持续时间*/ anination-duration:2s;}/*告诉系统创建一个名为move的运动框架*/@keyframes move{ /*运动起始位...

2019-04-21 18:21:57 435

原创 前端基础CSS3之2d模块

2d转换模块 格式: /*旋转*/transform:rotate(45deg);<!--顺时针旋转45度-->/*平移*/transform:translate(50px,50px);<!--向右和向下平移50像素-->/*缩放*/transform:scale(1.5,1.5);<!--在水平和垂直方向放大1.5倍-->transfo...

2019-04-21 18:19:31 342

原创 前端基础CSS3之过渡模块(重点)

过渡模块 a标签伪类选择器 含义:修改a标签不同状态的样式 状态及格式: 1.从未被访问过a:link{ 属性:属性值;}2.被访问过a:visited{ 属性:属性值;}3.鼠标长按a:active{ 属性:属性值;}4.鼠标悬停a:hover{ 属性:属性值;} 注意: 1.伪类选择器可以单独出现,也可以一起出...

2019-04-16 17:06:24 264

原创 前端基础CSS3之定位流

定位流 相对定位 含义:相对于自己以前在标准流中的位置进行移动 格式: position:relative;top:20px;left:20px;right:20px;bottom:20px; 注意: 1.不脱标;2.同一个方向上的定位属性只能用一个;3.区分块级、行内和行内块级元素;4.再添加magine/padding属性时,属性作用对象为移动之前原...

2019-04-13 20:56:43 256

原创 前端基础CSS3之清除浮动

清除浮动 方式一:外部盒子添加高度属性撑起来即可 方式二:外部盒子添加clear : both;属性,但该盒子的margin属性失效 方式三:外墙法,在两个盒子之间添加一个额外的块级元素,并给该元素添加clear : both:属性<!--只能设置第二个盒子的margin-top属性,不能使用第一个盒子的margin-bottom属性,一般直接设置中间块级元素的高而...

2019-04-02 20:13:11 241

原创 前端基础CSS3之网页的布局方式

网页的布局方式 标准流排版方式 标签分三类:块级元素、行内元素和行内块级元素 排版两类:垂直排版和水平排版 浮动流排版方式 排版一类:水平排版 注意:半脱标、没有水平居中属性、属性margin : 0 auto;无效 特点:浮动流的标签都具有行内块级元素的特点 元素脱离标准流:浮动元素从标准流中删除,不再占用标准流空间,且浮动元素会覆盖在标准流元素的上面...

2019-04-02 20:11:53 254

原创 前端基础CSS3之盒子模型

盒子模型 含义:所有标签都是盒子 盒子模型组成 宽度/高度:存放内容的区域 内边距:内容与边框的间距 边框:盒子边框 外边距:盒子与盒子之间的距离 高度与宽度 内容的宽高:通过标签的width/height属性设置的宽高 元素的宽高:左边框+左内边距+width+右内边距+右边框 / 上边框+上内边距+height+下内边距+下边框 元素空间宽高...

2019-04-01 21:07:35 202

原创 前端基础CSS3只边框属性、边距

边框属性 只要是标签,就可以设置边框 格式: 1.border: 边框宽度 边框样式 边框颜色;<!--同时设置4条边-->2.border-top: 边框宽度 边框样式 边框颜色; border-bottom: 边框宽度 边框样式 边框颜色; border-right: 边框宽度 边框样式 边框颜色; border-left: 边框宽度...

2019-04-01 21:06:29 414

原创 前端基础CSS之背景和精灵图

背景 背景颜色:background-color : 英文单词(red),rgb(255红,255绿,255蓝),rgba(255,255,255,1透明度),十六进制(#ffffff),十六进制缩写(#fff) 背景图片:background-image : url(网址 / 本地图片); 默认水平和垂直方向平铺;如果图片是网址,则浏览器会发送两次请求。第一次是请求网页,第二次是...

2019-03-24 15:02:12 601

原创 前端基础CSS之标签分类

标签分类 html: 容器级别:div, h, ul, ol, dl, li, .....可以嵌套其他所有的标签 文本级别:span(配合div进行局部信息的属性设置), p, ....只能嵌套文字、超链接和图片 css: 块级元素:独占一行,所有容器级别的元素和p,默认宽与父级元素一样宽,可以自行设置宽高 行内元素:不能独占一行,除了p标签,其他所有文本级别的元素,...

2019-03-24 15:01:16 221

原创 前端基础CSS之CSS继承性、CSS层叠性和优先级

CSS继承性 作用:父元素的属性,子元素也可以用 可继承的属性:有color / font / text / line的属性都可以继承 不可继承的属性:a标签的颜色和下划线不能继承,h标签的文字大小不能继承 应用场景:设置整个网页具有共性的属性,如文字的字体和大小等信息 CSS层叠性 利用不同的选择器给同一个标签设置相同的属性时,“后设置”的会先覆盖“...

2019-03-24 15:00:08 308

原创 前端基础CSS之选择器

选择器 标签选择器:选中当前页面中所有对应名称的标签 id选择器:前面加#号,id名称不能重复,即不同标签不能有相同的id 类选择器:前面加.号,class名称可以重复,且一个标签可以有多个类名,格式为class="c1 c2 c3" ... 后代选择器:div p h1 ...,可以选择到div内部所有嵌套中的p标签,子代和孙代.... 子元素选择器...

2019-03-23 22:08:13 246

原创 前端基础CSS之CSS原理、文字属性、文本属性和颜色属性

CSS 作用:只能修改元素样式 位置:放在标签中叫行内样式,放在<head>中叫内嵌样式,格式: <style type="text/css"> 标签名称{ 属性名称:属性值 ... }</style> 放在另外的文件中叫外链样式,引入语句为: <link rel="styl...

2019-03-23 22:07:05 253

原创 前端基础HTML之多媒体标签、CSS钩子标签和字符实体

多媒体标签 视频标签: <video src="video.webm" autoplay="autoplay自动播放" controls="controls控制条" poster="poster占位海报" loop="loop循环播放" preload="preload预加载" muted="muted静音" width height></video><!...

2019-03-22 21:09:52 570

原创 前端基础HTML之表单标签

表单标签 作用:收集用户信息 格式: <form action="提交按钮提交内容到的网址"> <label for="account">账号</label><input type="text" id="account"><!--将文字与输入框绑定在一起--> <input type="pass...

2019-03-22 21:08:17 199

原创 前端基础HTML之列表标签和表格标签

列表标签 无序列表(unordered list) 格式: <ul> <li>list item</li></ul> 应用:新闻列表,商品列表,导航条 有序列表(ordered list) 定义列表(definition list) 格式: <dl> <dt>...

2019-03-22 21:05:34 382

原创 前端基础HTML之HTML基础、DTD文档声明和基础标签

HTML 名称:超文本标记语言 作用:只用于描述文本的语义 基本结构 <!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <title></title> </head&...

2019-03-22 21:01:50 305

原创 前端基础HTML之浏览器作用,主流浏览器、浏览器访问网页原理和URL组成、HTTP协议、纯文本文件

浏览器作用 将网页渲染出来给用户查看 让用户通过浏览器与网页交互 主流浏览器(内核是渲染引擎,决定浏览器如何显示网页内容) IE:内核Trident 谷歌:内核WebKit / Blink 火狐:内核Gecko Safarri:内核WebKit 欧朋:内核Presto 浏览器访问网页原理 访问网页时有真是物理文件传输 ...

2019-03-22 20:58:53 527

原创 office办公之word实用技巧续

实用技巧——英文单词大小写快速切换描述:操作文档时,我们会遇到三种英文单词大小写格式,分别是首字母大写、全小写和全大写。需要切换时,我们通常一个个字母选中来修改,如果是一篇长文中有很多英文单词需要修改,工作量大,效率还低 技巧:选中需要修改的英文单词,按下shift+F3,即可在三种大小写格式之间快速切换abcd efgAbcd EfgABCD EFG实用技巧——快速开始新的...

2018-11-22 09:22:27 349

原创 office办公之word实用技巧

实用技巧——格式刷妙用位置:Word页面右上角“格式刷” 技巧:单击可以使用一次,双击可以无限次使用实用技巧——神奇的水平分割线位置:键盘上的“-”,“_”,“*”,“#”,“enter” 技巧:“---”+“enter”细直线,“___”+“enter”实直线,“***”+“enter”小方块直线,“###”+“enter”两根细直线夹一根粗直线实用技巧——首行缩进失效位置:...

2018-11-20 10:00:34 524

转载 python深入之日志添加上下文信息

除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息。比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名。这里我们来介绍以下几种实现方式:通过向日志记录函数传递一个extra参数引入上下文信息 使用LoggerAdapters引入上下文信息 使用Filters引入上下文信息一、通过向日志记录函数传递一个...

2018-08-16 15:53:12 401

转载 python深入之日志配置

作为开发者,我们可以通过以下3种方式来配置logging:1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数; 2)创建一个日志配置文件,然后使用fileConfig()函数来读取该文件的内容; 3)创建一个包含配置信息的dict,然后把它传递个dictConfig()函数;需要说明的是,logging.basicConfi...

2018-08-16 11:20:22 312

转载 python深入之日志处理(logging)

本节内容日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日志输出中添加上下文信息 参考文档一、日志相关概念日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情。一个事...

2018-08-15 20:17:18 1608 1

原创 python实战之网络爬虫(爬取新闻内文信息)

(1)前期准备:打开谷歌浏览器,进入新浪新闻网国内新闻页面,点击进入其中一条新闻,打开开发者工具界面。获取当前网页数据,然后使用BeautifulSoup进行剖析,代码:import requestsfrom bs4 import BeautifulSoupres = requests.get('http://news.sina.com.cn/c/2018-08-15/doc-ihhtfw...

2018-08-15 15:49:23 6966

原创 python实战之网络爬虫(爬取网页新闻资讯列表)

关于大数据时代的数据挖掘(1)为什么要进行数据挖掘:有价值的数据并不在本地存储,而是分布在广大的网路世界,我们需要将网络世界中的有价值数据挖掘出来供自己使用(2)非结构化数据:网络中的数据大多是非结构化数据,如网页中的数据都没有固定的格式(3)非结构化数据的挖掘--ETL:即三个步骤,分别是抽取(extract)、转换(transformation)、存储(loading),经过这三个...

2018-08-15 09:52:20 16009 1

原创 python深入之虚拟环境进阶

关于集中式虚拟环境(1)virtualenv创建的虚拟环境的弊端:1.创建虚拟环境非常分散,每一个项目对应一个虚拟环境,有多少项目就要建立多少个文件夹;2.不同的虚拟环境之间的切换非常的复杂,要分别进入到不同虚拟环境中的特定目录下执行相关的文件才能激活和退出(2)集中式虚拟环境--virtualenvwrapper-win模块:这个模块中的方法可以将创建的虚拟环境放在一起,集中进行管理,而...

2018-08-11 20:04:11 251

kmeans图像分类

利用matlab实现的k均值算法,对不同主体的图片进行分类,内含图片资源,分类为人,建筑,车,恐龙,大象和海滩风景。

2018-06-07

matlab贝叶斯分类(1)-简单样本集

利用matlab实现的贝叶斯分类算法,使用留出法进行样本选择,准确率为0.8571,文件内含数据样本源。

2018-06-07

matlab贝叶斯分类(3)-UCI数据集通用分类器

利用matlab实现的贝叶斯分类算法,其中包含数据格式转换算法,交叉验证算法和数据集统计算法,是UCI数据集通用的分类算法,准确率达到0.9427.

2018-06-07

games-Aircraft war

简单易上手的python游戏开发小项目,内含从简单的列表、元组等基础到具体的飞机大战游戏的代码和相关教程,适合于python初级学者拿来练手。

2018-06-07

空空如也

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

TA关注的人

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