自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 QT中QTreeWidget的拖放操作

在学习Qt的过程中接触过QListWidget和QTextWidget的拖放操作,现QT项目实操需用到树形节点拖放的操作,在参考了教程与案例后,做个实践小Demo:class TreeWidget : public QTreeWidget{ Q_OBJECTpublic: explicit TreeWidget(QWidget *parent = nullptr); ...

2020-04-28 17:50:58 7460

原创 经典C++语言笔试题目 #6

Q1: 基类的析构函数不是虚函数,会带来什么问题?A:派生类的析构函数用不上,会照成资源泄漏;Q2: main 函数执行以前,还会执行什么代码?A:全局对象的构造函数会在main函数之前执行Q3: 如何打印出当前源文件的文件名以及源文件的当前行号?A:cout << __FILE__ ;cout<<__LINE__ ;__FILE__和__LINE__...

2019-09-18 08:42:19 381

原创 经典C++语言笔试题目 #5

Q1: 谈谈你是怎么认识c++中的模板的?A:模板使程序员能够快速建立具有类型安全的类库集合和函数集合,它的实现,方便了大规模的软件开发。(结合stl更好)Q2: 在c++的一个类中声明一个static成员变量有没有用?A:在C++类的成员变量被声明为static(称为静态变量),意味着该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,也就是说不管创建多少对像,stati...

2019-09-18 08:37:17 231

原创 经典C++语言笔试题目 #4

Q1: C++中virtual与inline的含义分别是什么?A:Virtual 虚函数inline 内联函数虚函数的特点;如果希望派生类能够重新定义基类的方法,则在基类中将该方法定义为虚方法,这样可以启用动态联编。内联函数的特点;使用内联函数的目的是为了提高函数的运行效率。Q2: const 与 #define 的比较 ,const有什么优点?A:区别:1:作用阶段:#de...

2019-08-18 08:54:04 258

原创 经典C++语言笔试题目 #3

Q1: Heap与stack的差别A:Heap是堆,stack是栈。Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。Stack空间有限,Heap是很大的自由存储区C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行Q2: 重载(overloa...

2019-08-18 08:51:41 336

原创 经典C++语言笔试题目 #2

Q1: 有了 malloc/free 为什么还要 new/delete ?A:malloc 与 free 是 C++/C 语言的标准库函数,new/delete 是 C++的运算符。它们都可用于申请动态内存和释放内存。 对于非内部数据类型的对象而言,光用 malloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/f...

2019-08-08 11:16:27 284

原创 经典C++语言笔试题目 #1

Q1:C和C++中struct有什么区别?A: Q2: C++中的struct和class有什么区别?A:从语法上讲,class和struct做类型定义时只有两点区别:(一)默认继承权限。如果不明确指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理;(二)成员的默认访问权限。class的成员默认是private权限,struct默认是...

2019-08-08 11:05:42 253

原创 C++ 设计模式总结

2019-07-28 20:50:04 197

原创 C++ 二叉树的非递归后序遍历

写完二叉树的非递归中序遍历,再写下后序遍历树节点与结构没有改变,相比中序,先序在将子元素压栈时不对双亲结点作出栈//树结点class TreeNode {private: char name_;public: int State; TreeNode* leftNode; TreeNode* rightNode; public: TreeNode(char a):name_(a...

2019-07-28 20:20:41 586

原创 C++ 二叉树的非递归中序遍历

上一篇写完树的非递归先序遍历,接下来写中序遍历先定义树结点类,并创建好对象,相比先序,中序在结点多了状态值以供判断是否已入过栈://树结点class TreeNode {private: char name_;public: int State;//状态值 TreeNode* leftNode; TreeNode* rightNode; public: TreeNode(ch...

2019-07-18 09:33:54 1176

原创 C++ 二叉树的非递归先序遍历

非递归先序遍历二叉树似乎大概率中面试考题,所以在了解了递归遍历的机制后,着手写下非递归的先序遍历。先定义树结点类,并创建好对象,这里图方便使用了栈容器而没有自定义链表://树结点class TreeNode {private: char name_;public: int State; TreeNode* leftNode; TreeNode* rightNode; publi...

2019-07-18 09:17:02 692

原创 C++ 模板说明

凡是模板都应在定义前加模板说明以避免编译器无法识别函数模板:函数模板在调用时可以自动类型推导普通函数可以进行隐式类型转换,而模板函数为严格类型匹配.函数模板可以像普通函数一样被重载C++编译器优先考虑普通函数,如果模板可以产生更好匹配则选择模板可以通过<>空模板实参列表限定编译器只能通过模板匹配函数模板的实现:通过调用函数模板时的参数类型实例化生成模板函数,对可...

2019-07-08 10:28:26 160

原创 C++ 获取时间方法

我们先来看一段获取本地时间的代码:#pragma warning(disable: 4996)#include <time.h> time_t curtime = time(0); tm tim = *localtime(&curtime); cout << tim.tm_year + 1900 << "年" << tim....

2019-07-08 09:12:13 786

原创 C++ 二进制文件流读写包含多态的派生类 #2

上一篇写了一种二进制读写含多态的派生类的方法了,这次发散思路再写一种。先写好派生类:class a {public: int m; a(int m1) { m = m1; } virtual void MsgBox() { cout << "It's a." << endl; }};class b :public a {public:...

2019-06-28 11:04:06 249

原创 C++ 二进制文件流读写包含多态的派生类 #1

二进制文件的优势在于效率高,占用小,但不可直接读取,对于量大又需要隐藏信息的存储来说很实用。既然是读写内存数据流,那我们就可以对类对象进行读写操作,而派生类只是有点小不同。先写好派生类:class a {public: int m; a() {} a(int m1) { m = m1; } virtual void MsgBox() { cout << "...

2019-06-28 11:02:41 330

原创 C++ _Find_Pr()算法解析

_Find_pr()算法比较简单,它的作用是将容器中的值与传入值作对比处理,可以先看下算法的定义: // TEMPLATE FUNCTION _Find_pr WITH PREDtemplate<class _InIt, class _Ty, class _Pr> inline _InIt _Find_pr(_InIt _First, _InIt _Last, const ...

2019-06-18 09:26:58 583

原创 C++ for_each()算法解析

for_each()算法比较简单,它的作用是遍历容器并对每一个元素执行函数,可以先看下算法的定义: // TEMPLATE FUNCTION for_eachtemplate<class _InIt, class _Fn1> inline _Fn1 for_each(_InIt _First, _InIt _Last, _Fn1 _Func) { // perform fu...

2019-06-18 09:20:18 3421

原创 C++ replace()算法解析

Replace()算法比较简单,它的作用是将容器中的值替换为相应的值,可以先看下算法的定义: // TEMPLATE FUNCTION replacetemplate<class _FwdIt, class _Ty> inline void replace(_FwdIt _First, _FwdIt _Last, const _Ty& _Oldval, const ...

2019-06-09 21:07:59 1015

原创 C++ equal()算法解析

equal()算法比较简单,它的作用是比较两个容器是否相等然后返回布尔值,它有两种重载的实现方式,先看下算法的定义: // TEMPLATE FUNCTION equal WITH PREDtemplate<class _InIt1, class _InIt2, class _Pr> inline bool _Equal(_InIt1 _First1, _InIt1 _Las...

2019-06-09 21:02:54 12617

原创 C++ min()算法解析

Min() 算法比较简单,它的作用是比较两个值大小然后返回最小值,可以先看下算法的定义: // TEMPLATE FUNCTION mintemplate<class _Ty> inline _Post_equal_to_(_Right < _Left ? _Right : _Left) _CONST_FUN const _Ty& (min)(const _Ty&...

2019-06-09 20:54:46 23853

原创 C++链表练习

线性表是最简单的数据组织形式,通过单向链表我们可以建立小表单存储一些简单的数据。下面就来做一个仓储管理的练习:Main函数已经给出:那我们先定义好链表Goods类:class Goods {public: Goods(int sW) { singleWeight = sW; totalWeight += singleWeight;//构造函数增上单重量 } ~Goods...

2019-05-28 09:52:52 872

原创 C++复数运算符重载练习

在学习了运算符重载后,知道了运算符重载的本质是一个特殊的成员或友元函数,重载后原意义没有失去,而是定义了相对类的一个新运算符。下面来做个运算符重载的练习:先在复数类中声明好函数原型与复数私有变量class Complex {public: Complex(int a=0, int b=0) { n = a, d = b; } Complex operator =(Complex &am...

2019-05-28 09:37:11 537

原创 C++模板设计模式

在课上学过单例设计模式后,我觉得设计模式是个好东西,便趁机在查资料找了现阶段能理解的设计模式 — 模板设计模式。他的意义为定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法是的子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。其主要解决多个子类有相同的方法,并且逻辑相同,细节有差异的方案,而对重要、复杂的算法,将核心算法设计为模板方法,周边细节由子类实现,重构时,经常使用的...

2019-05-17 15:05:21 173

原创 C++ 多态练习

学完虚函数与多态,需要多加练习巩固这一面向对象的重要特征的知识点,我就自己做了个小练习由于想写两个人之间的关系,所以先定义一个抽象类:class People{public: People(char * name1) { name = name1;} virtual ~People() { cout << name << " was gone" <<...

2019-05-17 14:55:17 209

原创 C++ 斐波那契数列练习

斐波那契数列为从第三项开始,每一项都是前两项之和的数列,即根据这个规律可以很容易写出第n项的递归函数:void main(){ cout << Fibonacci(8) << endl; }int Fibonacci ( int n ){ if ( n <= 2 ) { if (n == 0) {...

2019-05-08 20:29:43 871

原创 C++ 常引用的本质

引用作为形参时以常指针作为实现方式,而引用还有常引用的形式,顾名思义他的实现方式就是指向常量的常指针,即对象地址与值都不可修改,即#include <iostream>using namespace std;void main() { int a = 2; const int &b= a; b = 3; }不过常引用有一些有意思的特性...

2019-05-08 20:04:50 755 1

原创 C++ 引用的作用

学习了参数的三种传递方式:值传递、指针传递与引用传递后不由地对这不熟悉的引用感到好奇,根据引用的概念,引用在定义初始化时与对象名绑定,为对象建立引用名,就类似于别名的作用,可别名不就会像值传递一样不改变实参的值了吗,可引用传递又能跟指针传递一样改变实参的值,我便抱着这种疑问对引用展开探究。先看下引用传递的效果#include <iostream>using namespace ...

2019-05-08 19:50:32 4454 1

原创 C++数组阶段总结

数组的学习告一段落,但正所谓温故而知新,阶段性总结对巩固记忆及加深掌握很有帮助,所以还是要总结一波数组的要点。首先数组的特性是内存连续,类型相同,它的类型基本涵盖c++大部分类型,其数组名既是内存首地址又是数组标识符,而长度表达式要求是常量,这在形参作表达式时很关键。int arr[1];数组的访问可通过下标形式与指针形式进行,数组名可作为常指针使用,由于数组名是内存首地址,对元素的访问可...

2019-04-28 16:17:34 207

原创 C++数组元素逆置练习

在学习了数组顺序排序后碰到需要将数组内的元素排序颠倒过来的练习,虽然思路比较简单,不过通过左右夹逼的方法还是挺常用的,在此作为排序拓展记录。先给自己出道题目,将{2,0,1,9}中的元素逆置,即这样我们需要先知道数组长度以提取下标进行操作,可以通过sizeof(arr)/sizeof(arrType)来获取数组的长度。再观察图片可知道这是通过先将数组第0位与数组最后一位通过下标进行值交换...

2019-04-28 11:40:07 2225

原创 C++中的常量、表达式、函数

常量变量定义: 类型 标识符 = 常量,含义: 申请以标识符命名的指定类型的储存空间访问变量:对象占有内存的第一个字节的地址为对象地址(0X),通过对象名或地址进行读写访问指针类型变量定义: 类型 * 标识符 = &变量 , 初始赋值为0/null, &为取址符, *为解址符含义: 存放对象地址的变量交换指针值: 通过第三方指针变量; 交换指针对象值:通过第...

2019-04-18 09:49:57 718

原创 C++入门小练习

好记性不如烂笔头,分享下我做的练习:1、设货物运费每吨单价 p(元)与运输,距离 s(公里)之间有如下关系:输入要托运的货物重量为 w吨,托运距离 s 公里,计算总运费 t :t = p * w * s按照一般思路范围从小到大进行筛选,要写五个判断,而观察一下里程与单价的变化规律可以发现,从100公里开始每加100公里减少2.5元单价,据此可以只写三个判断,以规律囊括中间100到40...

2019-04-18 09:17:22 734

原创 ORACLE SQL单行函数细节

ORACLE SQL单行函数细节单行函数有很多,不过有些经常用到又比较复杂(易忘)的概念或函数还是值得提出来做个笔记首先是有关日期的运算都分先后的,比如:日期四则运算,months_betweenselect months_between(to_date('1997-7-7','yyyy-mm-dd'),sysdate) from dual避免复合运算时遗漏的错误取整函数round在...

2019-04-08 15:19:10 99

原创 ORACLE SQL日期函数报错

ORACLE SQL日期函数报错在使用oracle的日期函数时经常会遇到日期中的时间节点无效,格式字符串不匹配的问题,例如select next_day(to_date('1997-7-7','yyyy-mm-dd'),'monday') from dual报错ora-01846:周中的日无效按照next_day(date,‘day’)的格式写是没有错的,可还是显示日(day)无效,这...

2019-04-08 15:06:26 889

原创 初始python

Python 输出 hello world作者:黄红撰写时间:2019年2月5日这几天看了下python入门,安装好环境后先用交互模式输出第一个python程序先进入命令行模式键入python后回车进入交互模式再输入print(‘hello world’) 回车输出了hello world,新年第一活完成: )...

2019-02-05 20:49:17 165

原创 ASP.NET MVC树形单击选中批量处理

树形单击选中批量处理作者:黄红撰写时间:2019年1月26日批量处理在新增、删除zTree树形节点时方便了操作,我就分享下做过的批量删除节点的方法:见效果图

2019-01-26 17:41:55 244

原创 ASP .NET MVC 控制器操作数组

ASP .NET MVC 控制器操作数组#1作者:黄红撰写时间:2019年1月18日我们经常会用到数组批量处理数据,在页面传递数组到控制器后需要逐个处理,而控制器中的数组操作不同于JS,Array类型表达式需要经过转化后才能在for循环中使用。见传递的数组数据此时数组还是Array类型,传入控制器后声明一个字符串数组接收Array数组,此时Array表达式就转化为了string字符串数...

2019-01-21 08:57:00 1131

原创 ASP .NET MVC 页面关闭事件

ASP .NET MVC 页面关闭事件作者:黄红撰写时间:2019年1月15日项目中经常会有日志记录登录间隔时间或获取页面重启间隔等需要用到页面关闭事件的操作,这里分享下我用到的页面关闭事件先看下实现效果:再理解下JS代码: var CloseWindow = false;//页面关闭事件状态 ReturnValue = "此处应有对应函数 : )";//关闭事件...

2019-01-21 08:36:51 2429

原创 ASP .NET MVC搭建树形

ASP .NET MVC搭建树形作者:黄红撰写时间:2019年1月18日树形在做项目时的使用频率较高,而使用jquery.ztree控件搭建树形简单又高效,效果也比较喜人,所以分享下我做树形的方法:首先选用树形样式&amp;amp;lt;link href=&amp;quot;~/Content/zTree/zTreeStyle/zTreeStyle.css&amp;quot; rel=&amp;quot;stylesheet&amp;quot;

2019-01-21 08:30:09 2115 7

原创 JS使用Ztree控件搭建树形

JS使用Ztree控件搭建树形作者:黄红撰写时间:2019年1月18日分享一个在JS中搭建Ztree节点数据构成树形的实例有时我们需要使用通过筛选的数据构造树形,如果将数据传入控制器再搭建节点数据过于繁琐,不如直接在JS中将需要的数据搭建为树形。见经过筛选的数据:上图中的数据都是通过Supermap SQL查询出的结果,而我们将这些需要的数据呈现则要通过搭建节点数据,其结构基础为z...

2019-01-21 08:22:38 264

原创 《慢性病地理信息系统》项目研发阶段性总结#2

《某区慢性病地理信息系统》项目研发阶段性总结#2本次任务完成时间:2019年1月5日~2019年1月17日完成模块功能:“周边分析”模块、“路径分析”模块功能实现周边分析主要包括中心点范围查询、点击查看详情的功能。功能展示:见图1,是周边查询实现界面。 图1 周边分析模块选择中心点后设定半径(米),勾选目标类...

2019-01-20 20:10:42 184

空空如也

空空如也

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

TA关注的人

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