自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

觉醒法师的专栏

古今多少事,都附笑谈中

  • 博客(116)
  • 资源 (6)
  • 收藏
  • 关注

原创 C++面向对象程序设计 - 继承与派生

C++中所谓“继承”就是在一个已存在的类的基础上建立一个新类,从已有的类那里获得已有特性,叫做类的继承。从另一角度说,从已有的类(父类)产生一个新的子类,称为类的派生。一个派生类只从一个基类派生,这称为单继承;一个派生类有两个或多个基类,称为多继承。派生类是基类的具体化,而基类则是派生类的抽象。面向对象技术强调软件的可重用性(software reusability),C++语言提供了类的继承机制,解决了软件重用问题。

2024-04-25 17:28:46 375

原创 C++面向对象程序设计 - 重载运算符进一步讨论

​函数重载就是对一个已有的函数赋予新的含义,使之实现新的功能。因此一个函数名就可以用来代表不同功能的函数,也就是一名多用。运算符也可以重载,即运算符重载(operator overloading)。在C++中,我们可以通过重载运算符来使得自定义类型(比如复数类)可以像内置类型一样使用运算符。

2024-04-24 13:10:56 694

原创 C++面向对象程序设计 - 不同类型数据间的转换

在C++中,不同类型的数据之间有时需要进行转换,这些转换可以是隐式的,也可以是显式的。

2024-04-22 08:12:33 819

原创 C++面向对象程序设计 - 运算符重载

函数重载就是对一个已有的函数赋予新的含义,使之实现新的功能。因此一个函数名就可以用来代表不同功能的函数,也就是一名多用。运算符也可以重载,即运算符重载(operator overloading)。运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现相应的运算。运算符重载实质上是函数的重载。

2024-04-20 16:58:27 968

原创 C++面向对象程序设计 - 类和对象进一步讨论

在C++中,关于面向对象程序设计已经讲了很大篇幅,也例举很多案例,此篇将通过一些习题来进一步了解对象、静态成员、指针、引用、友元、类模板等等相关知识。

2024-04-15 10:17:41 777

原创 C++面向对象程序设计 - 类模板

C++允许使用函数模板,对于功能相同而数据类型不同的一些函数,不必一一定义各个函数,可以定义一个可以对任何类型变量进行操作的函数模板,在调用函数时,系统会根据实参的类型,取代函数模板中的类型参数,得到具体函数。有时两个或多个类,其功能是相同的,仅仅是数据类型不同。显然这种重复性工作是不必要的,C++在发展后期增加了模板(template)的功能,提供了解决这类的途径;可以声明一个通用的类模板,它可以有一个或多个虚拟的类型参数,创建可以重用的组件,这些组件可以处理多种数据类型,而不仅仅是单一的数据类型。

2024-04-11 09:12:20 993

原创 C++面向对象程序设计 - 静态成员、友元

在C++中,静态成员是类的一个特性,它们与类本身关联,而不是与类的任何特定对象关联;静态成员可以是数据成员(变量)或成员函数;静态成员在类的所有对象之间共享一个副本,这意味着无认创建多少个类实例,都只有一个静态成员副本存在。友元(friend)是一种特殊的声明,它允许一个函数或类访问另一个类的私有(private)和保护(protected)成员。友元不是类的成员,但它可以访问类的所有成员,包括私有和保护成员。使用友元的主要目的是为了允许在类外部的函数或类能够访问类的私有或保护成员,而不破坏封装性。

2024-04-10 09:28:06 591

原创 C++面向对象程序设计 - 对象的动态建立和释放、赋值和复制

在C++中,对象的动态建立和释放通过使用new和delete操作符来完成的,new用于在运行时动态分配内存以创建对象,而delete用于释放这些动态分配的内存。对象的赋值和复制是两个不同的概念,赋值是通过操作符“=”进行的;复制是构造函数来实现的。

2024-04-09 15:16:21 874

原创 C++面向对象程序设计 - 共用数据的保护(常对象、常指针和常引用)

C++虽然采取了不少有效的措施(如设private保护)以增加数据的安全性,但是有些数据却往往是共享的,例如实参与形参,变量与其引用,数据与其指针等,人们可以在不同的场合通过不同的途径访问同一个数据对象。既要使数据能在一定范围内共享,又要保证它不被任意修改,这时可以使用const,即把有关数据定义为常量。这篇了解下常对象、常对象成员、对象的常指针、对象的常引用。

2024-04-07 20:41:50 699

原创 C++面向对象程序设计 - 对象指针和this指针

在C++学习中,指针是一个用于指向另一个变量的地址的变量。理解指针有一定难度,但是理解它的工作原理后,会发现它们是非常强大和有用的工具。指针可以用来指向一般的变量,也可以指向对象。在建立对象时,编译系统会为每一个对象分配一定的存储空间,以存放其成员。对象空间的起始地址就是对象的指针。

2024-04-06 17:11:35 899

原创 C++面向对象程序设计 - 数组与sizeof、对象指针使用

在C++中,sizeof是一个运算符,用于获取特定类型或对象在内存中所占用的字节数。这个运算符在多种场景下都非常有用,包括内存管理、性能优化以及理解数据结构在内存中的布局。数组是一种可以存储多个同类型元素的线性数据结构。每个元素在数组中有一个唯一的索引,通常从0开始。数组提供了一种方便的方式来存储和处理一组相关的数据。在C++中,获取数组长度并不像获取其他数据类型的大小那样直接,因为数组本身并不包含其长度的信息。所以这篇讲解的是,如何结合sizeof获取数组的长度。并且通过对象指针,也可以获取数组长度。

2024-04-03 15:26:10 927

原创 C++面向对象程序设计 - 构造函数

C++提供了构造函数来处理对象的初始化,构造函数是一种特殊的成员函数,与其他成员函数不同,它不需要用户来调用,而是在建立对象时自动执行。构造函数名称必须与类同名,而不能由用户任意命名,以便编译系统能识别它把它作为构造函数处理。它不具体任何类型,也不返回任何值。构造函数的功能由用户定义,可根据初始化的要求设计函数体和函数参数。而且如果用户未定义构造函数,C++系统会自动生成一个构造函数,只是这个构造函数体是空的。

2024-04-02 18:08:48 1073 4

原创 C++面向对象程序设计 - 访问对象中成员的3种方法

在C++程序中访问对象的成员变量和成员函数,有三种方法:通过对象名和成员运算符访问对象中的成员;通过指向对象的指针访问对象中的成员;通过对象的引用变量访问对象中的成员。struct和class区别、类外定义成员函数、inline成员函数等.....

2024-04-01 12:50:02 1188

原创 Webpack生成企业站静态页面 - ajax请求

这几天又想到以前项目上使用过MVP模式开发,一部分通过后台渲染,一部分前端渲染;这样能减轻后端压力,也能提升速度,让前端在写静态页面时候就能完成页面数据渲染工作。有需求就有革新的动力,所以这篇将对之前功能再度升级改造。当然,这种方法把数据获取到客户端通过art-template模板引擎对数据进行渲染,实现是没问题;但是这样对SEO优化不太友好,若是不考虑此问题不大;或者将head标签和导航部分在服务端渲染,其他内容通过ajax请求在客户端渲染,也能满足SEO优化需求和减轻后端压力。

2024-03-29 09:17:46 1028

原创 Webpack生成企业站静态页面 - 增强数据处理能力

一些项目因需求不同,如需SEO或小项目,使用angular、react或vue就大材小用了。我们可以通过webpack、gulp这些构建工具,也能快速完成html页面开发,并且也能使用less/sass/styus等样式预编译功能,以及将js、html分模块、分组件进行开发。此篇在之前两篇基础上,增强数据处理功能力,让开发更为便捷、更为灵活。

2024-03-28 09:14:59 1250

原创 Webpack生成企业站静态页面 - 组件化

一些项目因需求不同,如需SEO或小项目,使用angular、react或vue就大材小用了。我们可以通过webpack、gulp这些构建工具,也能快速完成html页面开发,并且也能使用less/sass/styus等样式预编译功能,以及将js、html分模块、分组件进行开发。这篇我们就一讲下如下将这样一个企业站,在webpack中快速构建。

2024-03-27 09:39:34 1128

原创 Webpack生成企业站静态页面 - 项目搭建

现在Web前端流行的三大框架有Angular、React、Vue,很多项目经过这几年的洗礼,已经都 转型使用这三大框架进行开发,那为什么还要写纯静态页面呢?比如Vue中除了SPA单页面开发,也可以使用nuxt.js实现SSR服务端渲染,满足SEO优化。但是对于那些还是在维护老项目,使用MVC、MVP进行开发,或者觉得使用nuxtjs成本较高小型项目,从历史原因和项目实际情况考虑,会退而求其次,让前端快速完成页面框架和样式,交付后端进行数据渲染。

2024-03-26 10:52:33 1251

原创 C++程序变量的引用

在C++中,变量的“引用” 就是变量的别名,因此引用又称为别名。由于引用不是独立的变量,编译系统不给它单独分配存储单元,因此在建立引用时只有声明,没有定义,只是声明它和原有的某一变量的关系。

2024-03-22 17:20:38 660

原创 C++程序函数的重载和函数模板

在C++中,函数也可以重载。C++允许在同一作用域中用同一函数名定义多个函数,这些函数的参数个数和参数类型不相同,这些同名的函数用来实现不同的功能,这就是函数的重载。函数的重载的函数体是完全相同的,只是形参和类型不同,也要分别定义。为了解决这个问题,C++提供了函数模板(function template)。函数模板,实际上是建立一个通用函数类型和形参类型不具体指定,用一个虚拟的类型来代表,这个通用函数就称为函数模板。

2024-03-18 07:41:06 560

原创 C++面向对象程序设计 - 创建学生类

C++由AT&TBell实验室于20世纪80年代初在C语言的基础上开发成功,保留了C语言原有的所有优点,增加了面向对象的机制。如果你有Java、C#、PHP、NodeJs等语言基础,再来了解C++,会发现它们在面向对象编程方面有许多相似之处,有封装、继承、多态、类与对象、访问个修饰符等。[Error] invalid conversion from 'char*' to 'char' [-fpermissive]。[Error] 'setw' was not declared in this scope;

2024-03-17 15:37:02 646

原创 Webpack抛出错误/警告:asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).

entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.”意思是:“入口点大小限制:以下入口点组合资源超出建议大小限制(244KiB)。今天操作webpack时报出几个错误,从提示上可以看出是因为webpack打包文件太大,导致的警告错误,可以手动设置打包文件的大小限制。

2024-03-15 19:08:57 1287

原创 AngularJS中TS定义Users类出现error TS2564: Property ‘id‘ has no initializer and is not definitely assigned

在Angular中定义Users类时,出现了error TS2564: Property 'id' has no initializer and is not definitely assigned in the constructor.错误,原来是typescript 2.7.2包含了一个严格的类检查,所有属性都应该在构造函数中声明。类的声明:错误如下图:解决此问题有两种方法,一个是在tsconfig.json中配置,一个是属性加感叹号。

2024-02-27 10:12:36 587

原创 AngularJS安装版本问题

在安装前请确保自己安装NodeJS环境版本为V18及以上,否则会因node版本问题导致项目无法正常运行。

2024-02-26 16:30:20 584

原创 NuxtJs安装Sass后出现ERROR:Cannot find module ‘webpack/lib/RuleSet‘

最近了解NuxtJs时,发现问题比较多,对于初学者来说是件比较头痛的事。这次是安装sass预处理器,通过命令安装后,出现了ERROR:Cannot find module 'webpack/lib/RuleSet' 错误,于是根据之前经验,对版本进行分析修改版本。

2024-02-04 11:34:00 910

原创 NUXTJS安装始终报错无法正常运行问题解决

近日在了解NuxtJS,按照官方给出方法进行安装后,不是报错,就是安装成功后运行不了。执行npm run dev后始终运行出错,判断肯定是对应版本问题,沿着这方向研究,最终运行成功了。

2024-02-02 18:42:29 1042

原创 Vue中ElementUI结合transform使用时,修复el-select弹框定位不准确问题

在大屏开发中,比如将1920*1080放到更大像素(3500*2400)大屏上演示,此时需要使用到transform来对页面进行缩放,但是此时发现弹框定位出错问题,无法准备定位到实际位置。之前写过一篇讲解的是ElementUI中的组件修复定位问题,经过网友不断发现和提问,原来不同组件解决方案是不同的,这讲解下 组件如何修复。接下来我们讲下select组件的popper弹框错位问题。

2024-01-15 16:48:53 997 1

原创 jQuery实现响应式瀑布流 - 实现灯箱效果

前端实现瀑布流(Javascript+CSS),在此基础上增加灯箱效果(轮播切换效果),并可切换图片显示模式(完全显示,或全屏显示)

2023-12-24 22:42:21 1395

原创 WPS Office JS宏实现Excel转换为JSON格式数据

有时我们在整理文档时,产品会通过Excel将功能点和功能描述分层级整理出来,有时需要将此数据导入到系统中,Web端对Json这类格式数据比较友好,所以这里试着使用Excel JS宏将数据导出为JSON数据。通过Excel JS宏,将表格中整理出的数据,以”列“形式导出为JSON数据格式。

2023-12-11 17:05:49 3189

原创 WPS Office JS宏实现批量处理Word中的标题和正文的样式

该篇讲解word文档中的标题和正文批量修改样式,使用ActiveDocument.Paragraphs获取段落信息。

2023-12-05 11:16:44 1828

原创 WPS Office JS宏实现批量处理Word中的表格样式

WPS Office JS宏,实现Word表格样式批量修改。 由于本职工作原因,经常会用到office办公软件,经常很多内容审批后,需要统一修改内容或样式,如果Word文档中有上百页或上千页,则一个一个修改太麻烦了。在接触到WPSJS宏后,发现工作效率大大提升;如果你会前端开发,有JS基础上手会非常快;如果有VBA基础,就更得心应手了,因为对象和函数定义,基础是沿用office的VBA。其他不多说了,先和大家分享下如果统一修改表格样式。

2023-11-27 21:16:42 3947 3

原创 JavaScript内置对象 - Array数组(四)- 序列生成器

序列生成器是生成一个指定起始值和结束值的序列,并且根据指定间隔长度,生成序列数组。类数组对象,是指可以通过索引属性访问元素并且拥有 length 属性的对象。类数组对象和数组区别是类数组对象不对直接调用数组的方法,需要通过Function.call和Funcation.apply来间接调用。类数组对象是从零开始,且以递增的整数为键名,定义了length表示 元素个数的对象,叫做类数组对象。对于类数组和Array.from()方法,不少人应该比较陌生,希望通过此案例让大家了解到它们的功能及便捷之处。

2023-10-03 22:50:03 1604

原创 JavaScript内置对象 - Array数组(三)- 自定义ArrayList

ArrayList是一种数据结构,它可以用来存储一组数据。特点是可以动态地增加或删除数据,并且可以随机访问其中的元素。在JavaScript中,没有内置的ArrayList数据结构,但是我们可以使用类对象来实现它。 将集合存储在对象本身上,并使用在 Array.prototype.push 上使用的 call 来调用该方法,使其认为正在处理数组,而它只是像平常一样运作,这是JavaScript 允许我们建立任意的执行上下文。尽管 Object不是数组,但是 push 方法成功地使 Object

2023-10-02 15:29:14 1479

原创 JavaScript内置对象 - Array数组(二)- 方法

JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象;Array 对象中还提供了各种有关数组的属性和方法,列举了 Array 对象中提供的属性和方法。

2023-10-01 18:51:16 1277

原创 JavaScript内置对象 - Array数组(一)- 基础部分

JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象;Array 对象中还提供了各种有关数组的属性和方法,列举了 Array 对象中提供的属性和方法。

2023-09-30 22:46:06 295

原创 JavaScript内置对象 - Array数组几种循环方式

在JavaScript中,有几种方法可以循环遍历数组。for循环、for...in循环、for...of循环、forEach()方法、map()方法、filter()方法、reduce()方法

2023-09-27 11:22:37 351

原创 Vue中ElementUI结合transform使用时,发现弹框定位不准确问题

查看element-ui官方文档无果后,打算更换新的框架进行开发,但更换几个后发现都存在类似问题,由于之前项目都是使用element-ui,对此框架比较熟悉,所以还是决定在此基础解决问题。在近期开发中,需要将1920*1080放到更大像素大屏上展示,所以需要使用到transform来对页面进行缩放,但是此时发现弹框定位出错问题,无法准备定位到实际位置。如果屏幕像素更大,则偏移位置更远,对此element-ui文档中常规手段已无法解决,只能从底层考虑。

2023-08-23 17:29:38 2671 6

原创 Vue中data没有写return报Cannot read property ‘__ob__‘ of undefined错误

最近需到一个在开发中很常见错误,原因是自己开发时没仔细检查代码,删除数据时把data中return一并删除了,导致路由跳转点击无反应。data函数在Vue中是一个特殊的方法,用于定义组件的本地状态。经翻阅相关文档,了解到它应该返回一个对象,该对象包含在组件中使用的各种数据属性。如果您的data函数没有返回任何东西(或者返回null或一个非对象值),那么您可能会看到类似的错误消息,指示数据未定义或未预期的类型的错误。确保您的data函数始终返回一个对象,以包含您需要在组件中使用的数据属性。

2023-07-30 20:08:58 557

原创 解决页面等比缩放问题

近些年可视化数据大屏技术早已成熟,在市场上相关技术也是五花八门;通常情况是自行开发,要不找技术比较成熟大厂定制,或者使用较成熟的低代码平台实现。技术门槛比较低,不过在数据大屏项目实施过程中会发现,需要调整屏幕分辨率,页面大小自适应,字体大小等问题;由于网页中最小字段12px,通过样式控制非常麻烦;此篇将使用CSS3新特性transform技术,来实现分辨率变化后,还可以正常显示页面。

2023-06-30 23:53:34 3207 2

原创 jQuery实现响应式瀑布流效果(jQuery+flex)

瀑布流原理:是一种常见的网页布局方式,它的特点是将内容以多列的形式呈现,每一列的内容高度不固定,根据内容的大小自适应调整,从而形成了像瀑布一样的流动效果。瀑布流的实现原理涉及到数据加载、布局设计、图片加载和响应式设计等方面,需要综合考虑各个方面的因素,以实现高效、流畅、美观的瀑布流效果。目前网上很多技术博文是使用定位完成瀑布流效果的,这里将使用jquery和flex布局来实现响应式瀑布流效果。

2023-05-29 23:38:41 2308

原创 LAY-EXCEL实现导入和导出excel功能

lay-excel 提供了丰富的数据表格类型,包括常见的表格、表格拆分、表格计算、图表等等,可以满足用户多样化的数据表格需求。此外,lay-excel 还支持表格导出功能,可以将表格保存为多种格式的文件,如 CSV、Excel、HTML 等等。lay-excel 是一款开源的、基于 Google Sheets 的免费的在线数据表格库。总的来说,lay-excel 是一款非常优秀的在线数据表格库,它的简单易用、功能丰富、兼容性强等特点,使得它在国内市场中受到了广泛的欢迎和使用。

2023-05-16 14:55:01 1176 1

PHP的排序和查找方法

PHP的排序(内部排序法:1.冒泡排序 2.插入排序 3.选择排序 4.快速排序)和查找方法(1.顺序查找 2.二分查找)

2013-10-07

Java随机产生数组元素并无重复元素方法

Java随机产生数组元素并防止产生有重复元素方法

2012-07-04

Java迷你DVD管理系统

北大青鸟课程练习,DVD管理系统增强版,个人增加了些功能,仅供参考!

2012-06-30

Frontend反编译软件加jad文件

将FrontEnd.exe、jad.exe放到 Java\jdk1.6.0_23\bin即可。然后点击FrontEnd.exe文件即可打开并进入图形反编译界面了

2012-06-26

C语言程序设计(第三版)-谭浩强

C语言是国际上广泛流行的高级语言。 C语言是在B语言的基础上发展起来的。 B (BCPL)语言是1970年由美国贝尔实验室设计的, 并用于编写了第一个UNIX操作系统,在PDP 7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。 1973年贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言,对B取长补短,并用之改写了原来用汇编编写的UNIX,(即UNIX第5版),但仅在贝尔实验室使用。

2012-06-25

Java数组排序三种方法

Java程序中,排序算法有很多种,此次给大家介绍的是类排序方法、冒泡排序方法和直接排序方法。

2012-06-14

空空如也

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

TA关注的人

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