C++实现通讯录系统项目实战
本文实例为大家分享了C++实现通讯录系统项目的具体代码,供大家参考,具体内容如下
制作一个具有添加联系人、删除联系人、修改联系人等功能的通讯录系统
效果图:
代码如下:
#include <iostream>
using namespace std;
#inc...[2022/6/20]
C++实现简易通讯录管理系统C++实现简易通讯录管理系统
目录前言结构体联系人结构体通讯录结构体函数模块菜单添加联系人显示联系人判断联系人删除联系人查找联系人清空所有联系人main函数源代码运行结果 本文实例为大家分享了C++实现简易通讯录管理系统的具体代码,供大家参考,具体内容如下
前言
建议收藏,亲手写一遍代码,感受指针神奇的魅力;可以帮助你更...[2022/6/20]
C++用winapi?socket实现局域网语音通话功能C++用winapi?socket实现局域网语音通话功能
目录一、socket通信二、waveIn和WaveOut的Win32API1.音频设备的的信息获取2.音频设备的初始化3.输入输出设备缓冲区的准备和添加4.播放和录音的开始和终止5.录音通知消息的获取和处理6.关闭音频输入和输出设备三、通信数据包的设计以及客户端服务器逻辑 前几天看书了解了语音通话的...[2022/6/20]
C++面向对象实现万年历的示例代码C++面向对象实现万年历的示例代码
目录引入Controller.hController.cppViewDate.hViewDate.cppModelDate.hModelDate.cppmain.cpp各功能测试结果 引入
本文是通过面向对象对日历进行实现;
主要会有以下几个模块:模型 视图 控制(也算是浅浅的实现了一下MC...[2022/6/6]
OpenCV图像算法实现图像切分图像合并示例
目录将一张图片切分成多个小图片并将小图片合并为原图图像切分图像合并验证友情提示 将一张图片切分成多个小图片并将小图片合并为原图
最近用到一个功能,需要将一张原图切分成多个小图像,然后对小图像进行处理,处理之后再将其整合成一张大图像。达到对原图进行处理的目的,这样做的好处是将一个大任务划分为多个小...[2022/6/6]
C++分析构造函数与析造函数的特点梳理C++分析构造函数与析造函数的特点梳理
目录构造函数的调用构造函数的分类及调用拷贝构造的调用时机深拷贝与浅拷贝 构造函数的调用
默认情况下编译器至少给一个类添加3个函数
1.默认构造函数(无参,函数体实现)--完成对象的初始化
2.默认析构函数(无参,函数体为空)--完成对象的清理
3.默认拷贝构造函数,属性进行值拷贝
...[2022/5/9]
C++精要分析decltype的作用及用法
目录获取表达式的类型推导规则返回类型后置高级用法 获取表达式的类型
在编写程序的过程中,我们可能会有一种需求,就是希望可以根据一个变量的类型,来定义具有相同类型的变量。例如定义int x = 0;,那么我们是否可以不使用int关键字,仅使用x就定义一个新的整型变量y呢?
答案是可以的,C++...[2022/5/9]
C++深入分析STL中map容器的使用
目录1、map容器2、map容器原理3、map容器函数接口4、使用示例 1、map容器
map是C++ STL的一个关联容器,它提供一对一的数据处理能力。其中,各个键值对的键和值可以是任意数据类型,包括 C++ 基本数据类型(int、double 等)、使用结构体或类自定义的类型。
第一个可...[2022/5/9]
C++精要分析lambda表达式的使用
目录引言语法与示例捕获列表捕获引用特殊用法实现原理应用 引言
C++要走向现代语言,如果不支持lambda表达式,你很难认为这门语言和现代有什么关系。幸好,从C++11标准起,它就实现了对lambda表达式的支持。
那么,什么是lambda表达式呢?
lambda表达式是匿名函数,就是说...[2022/5/9]
C++ OpenCV读写XML或YAML文件的方法详解
目录前言1.如何使用1.1第一步:XML、YAML文件的打开1.2 第二步:进行文件读写操作1.3 第三步:vector(array)和map的输入和输出1.4 第四步:文件关闭2.代码展示2.1 写文件2.2 读文件2.3 完整的示例代码 前言
本节我们将认识XML和YAML这两种文件类型。
...[2022/5/9]
使用c++实现异或加密的代码示例
目录加密原理异或加密的实现ShellCode 编写注意事项 加密原理
由于展示最基本最简单的实现,使用算法加密就没用复杂的。如果使用比较复杂的加密,首先你在C++代码层面和汇编层面要有配套的代码,C++负责加密,汇编负责自我解密,否则你加密完了,结果加密后的PE文件自己又解密不了,这就很尴尬。
...[2022/4/11]
Linux中rm命令使用以及C/C++代码实现
目录前言Linux rm 命令如何使用 rm 命令删除文件如何强制 rm 忽略不存在的文件如何在每次删除之前使 rm 提示如何使用 rm 命令删除目录如何让 rm 只删除空目录如何强制 rm 发出操作的详细信息Linux下rm命令代码实现总结 前言
rm 命令是 Unix/Linux 操作系统中...[2022/4/11]
分享C++三种类型new类型的运算符使用详情
目录1.new操作符2.::operator new2.1原始调用2.2重载12.3重载23.place new 1.new操作符
new operator,平时用的最多的new操作符,其对应delete operator,不能被重载,其包含两个操作(既申请空间,又调用构造函数)
(1)使用:...[2022/4/11]
c++深入浅出讲解堆排序和堆c++深入浅出讲解堆排序和堆
目录堆是什么最大堆最小堆堆排序最终代码关于堆 堆是什么
堆是一种特殊的完全二叉树
如果你是初学者,你的表情一定是这样的??
别想复杂
首先,你一定见过这种图
咱们暂时不管数字
这就是一个堆
堆又分为最大堆和最小堆
最大堆
看这张图
上面的节点的数都...[2022/3/29]
c++ 深入理解归并排序的用法c++ 深入理解归并排序的用法
目录分治算法归并排序怎么分递归的出口“并”的实现加到“分”函数里完整代码 hello??
昨天发了个堆排序,竟然上了热榜
所以,今天来发一下归并排序
上次的堆排序似乎好多人没看懂,其实这些还是比较基础滴??
废话不多说,直接进入正题
分治算法
如果你要学归并排序,首先你要学一...[2022/3/29]
C++单例模式的懒汉模式和饿汉模式详解
目录懒汉模式饿汉模式线程安全的懒汉模式总结 懒汉模式
懒汉模式在第一次用到类实例的时候才会去实例化,就是不到调用getInstance函数时,这个类的对象是一直不存在的。懒汉本身是线程不安全的。
#include <iostream>
using namespace std;
...[2022/3/14]
C++中类的转换函数你了解吗
只有接受一个参数(其他参数有默认值的也算)的构造函数才能作为转换构造函数。
在C++中,接受一个参数的构造函数为将类型与该参数相同的值转换为类提供了蓝图。因此,下面的构造函数用于将double类型的值转换为Stonewt类型:
Stonewt(double lbs) double转St...[2022/3/14]
C++的数据共享与保护你了解吗
目录1.作用域2.对象生存期静态数据成员静态成员函数3.类的友元友元函数友元类4.共享数据的保护常对象常成员函数常引用Tips总结 1.作用域
作用域是一个标识符在程序正文中有效的区域
作用域关系从大到小为:
命名空间作用域 > 类作用域 > 局部作用域
标识符的有效范围...[2022/3/14]
C++成员函数中const的使用详解C++成员函数中const的使用详解
目录修饰入参值传递址传递const修饰入参修饰返回值修饰函数总结 const 在C++中是一个很重要的关键字,其不光可以用来修饰变量,还可以放在函数定义中,这里整理了其在函数中的三个用法。
修饰入参
首先我们要明白在C++中调用函数时存在两种方法,即传递值和传递引用。
值传递
值传递...[2022/3/14]
一篇文章详细解释C++的友元(friend)一篇文章详细解释C++的友元(friend)
目录一.友元函数先看普通函数声明为友元函数:再看类成员函数声明为友元函数:最后说明二.友元类三.完整示例:四.同一个类(cla )的类对象(object)互为友元总结 一.友元函数
友元函数可以是普通函数或者类成员函数。
先看普通函数声明为友元函数:
如下所示:
#include &...[2022/3/8]
C++类中隐藏的几个默认函数你知道吗C++类中隐藏的几个默认函数你知道吗
目录1.构造函数2.析构函数3.拷贝构造函数4.赋值运算符的重载函数5.一般对象取地址函数7.移动构造函数8.移动赋值函数补充:总结 Test类中隐藏的六个默认的函数
cla Test
{
public:
默认的构造函数
Test();
析构函数
~Test();
...[2022/3/8]
使用C/C++读写.mat文件的方法详解使用C/C++读写.mat文件的方法详解
目录一、创建工程并添加测试代码二、修改CmakeLists文件三、添加环境变量四、令人头秃的错误五、运行结果总结 最近需要使用C++来处理matlab生成的数据, 参考了网上一些博客,不过他们都是使用的VS,我比较喜欢使用Clion, 在配置的过程中也遇到了一些坑,记录一下。
一、创建工程并添加...[2022/3/8]
C++?vector的简单实现
目录向量成员函数cpp总结 向量
向量是序列容器,表示可以更改大小的数组。
就像数组一样,向量对其元素使用连续的存储位置,这意味着也可以使用指向其元素的常规指针上的偏移量来访问其元素,并且与数组一样高效。但与数组不同的是,它们的大小可以动态变化,它们的存储由容器自动处理。
在内部,向量使...[2022/3/8]
C++提取文件名与提取XML文件的方法详解
目录1、提取文件名2、提取XML文件总结 1、提取文件名
查找容器内子序列的最后一次出现的位置
std::find_end(str.begin(), str.end(), pattern.begin(), pattern.end())
查找容器内子序列的第一次出现的位置
std::sea...[2022/3/7]
C++中引用的相关知识点小结
目录引用的概念引用特性常引用使用场景引用和指针的区别总结 引用的概念
引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。
比如:李逵,在家称为"铁牛",江湖上人称"黑旋风"。那么...[2022/3/2]
c++动态内存管理与智能指针的相关知识点
目录引言一、介绍二、shared_ptr类make_shared函数shared_ptr的拷贝和引用shared_ptr自动销毁所管理的对象…使用动态生存期的资源的类应用举例:Blob类定义Blob类StrBlob的拷贝、赋值和销毁三、直接管理内存使用new分配内存使用new动态分配和...[2022/3/1]
C/C++的各种字符串函数你知道几个
目录一、strrchr参数 返回值示例输出二、atoi参数 返回值示例输出三、strcat参数 返回值示例输出四、strstr参数返回值示例输出五、strncasecmp参数返回值六、strncpy参数 返回值示例输出七、strcspn参数 返回值示...[2022/3/1]
C++的输入和输出流详解C++的输入和输出流详解
目录输入和输出流标准输入流小案例标准输出流文件读写总结 输入和输出流
从键盘输入数据,输出到显示器屏幕。这种输入输出称为标准的输入输出,简称标准I/O。
从磁盘文件输入数据,数据输出到磁盘文件简称文件I/O。
对内存中指定的空间进行输入输出,通常指定一个字符数组作为存储空间(存储任何信息...[2022/3/1]
C++实现职工工资管理系统
本文实例为大家分享了C++实现职工工资管理系统的具体代码,供大家参考,具体内容如下
main.cpp
#include <iostream>
#include <vector>
#include <map>
#include <algorit...[2022/3/1]
C++数据结构模板进阶的多方面分析
目录??非类型模板参数??模板的特化??函数模板的特化??类模板的特化??模板的分离编译??总结 ??博客代码已上传至gitee:https: gitee.com/byte-binxin/cpp-cla -code
??非类型模板参数
模板参数分类类型形参与非类型形参。
类型模...[2022/2/28]
C++数据结构分析多态的实现与原理及抽象类
目录??多态的??概念??虚函数??多态构成的条件??C++11override和final??重载、重写和重定义(隐藏)??抽象类??多态的原理??虚函数表??原理??单继承和多继承的虚表??单继承的虚表??多继承的虚函数表??几个值得思考的问题??总结 ??上一篇博客我和大家聊了聊关于继承的内容...[2022/2/28]
C++数据结构继承的概念与菱形继承及虚拟继承和组合C++数据结构继承的概念与菱形继承及虚拟继承和组合
目录??继承的概念??继承的定义??基类和派生类对象之间的赋值转换??继承中的作用域??派生类的默认成员函数??继承中的两个小细节??继承和友元??继承和静态成员??单继承和多继承(菱形继承)??虚拟继承??概念??虚拟继承的原理??组合与继承??总结 ??博客代码已上传至gitee:https: ...[2022/2/28]
C++数据结构二叉搜索树的实现应用与分析
目录??概念??二叉搜索树的实现??基本框架??二叉搜索树的插入??二叉搜索树的查找??二叉搜索树的删除(重点)??二叉搜索树的应用??二叉树性能分析??总结 ??博客代码已上传至gitee:https: gitee.com/byte-binxin/cpp-cla -code
??概念
二叉...[2022/2/28]
C++数据结构红黑树全面分析C++数据结构红黑树全面分析
目录??概念和性质??红黑树的实现??红黑树节点定义??红黑树结构定义??红黑树的插入??方法概述??调整节点颜色??插入代码实现??红黑树的删除??方法概述??调整颜色??删除代码实现??红黑树的查找??红黑树的验证??AVL树和红黑树的比较??总结 ??博客代码已上传至gitee:https: ...[2022/2/28]
C/C++编程语言中的指针(pointer)你了解吗
目录1What2用法示例2.1示例总结 1 What
指针,是 C/C++ 编程语言中的一个重要概念。指针通常可以理解为内存地址,而指针变量就是用来存放内存地址的变量。在同一 CPU 架构下,不同类型的指针变量所占用的存储单元的长度是相同的(而存放数据的变量因数据类型的不同,所占用的存储空间长度...[2022/2/28]
c++实现扫雷小游戏代码分享
分成两个源文件和一个头文件
注意:这串代码并不完整,不能够实现当所查坐标周围雷的数量为0时,直接展开周围坐标;
头文件:game.h
#include <stdio.h>
#define count 10 雷的数量
定义 行-ROW,列-COL
...[2022/2/22]
C++并查集算法简单详解C++并查集算法简单详解
目录1、并查集的初始化2、并查集的查找操作3、并查集的合并操作4、为什么要路径压缩?5、实现路径压缩总结 1、并查集的初始化
并查集是用一个数组实现的。首先先定义一个数组:
int father[N];
father[i]表示元素i的父亲结点。
接下来进行初始化。一开始,每个元素都分...[2022/2/14]
C++的对象特性和友元你真的了解吗
目录对象特征构造函数和析构函数函数的分类以及调用拷贝构造函数调用时机 构造函数调用规则深拷贝与浅拷贝初始化列表类对象作为类变量静态成员成员变量和成员函数分开储存this指针的用途空指针访问成员const修饰成员函数友元全局函数做友元类做友元成员函数做友元总结 对象特征
构造函数和析构函...[2022/2/9]
一篇文章带你了解C/C++的回调函数
目录函数指针概念先来看一个Hello World程序然后,采用函数调用的形式来实现用函数指针的方式来实现函数指针数组回调函数概念标准Hello World程序将它修改成函数回调样式修改成带参的回调样式总结 函数指针
概念
指针是一个变量,是用来指向内存地址的。一个程序运行时,所有和运行相关...[2022/1/24]
C++ OpenCV学习之图像像素值统计
目录1.常用的像素值统计2.像素值统计计算3.图像统计值分析本课所用API查阅 opencv知识点:
图像像素最小/最大值 - minMaxLoc
图像像素均值/标准差 - meanStdDev
本课所解决的问题:
如何获取图像像素的最小/最大值?
如何获取图像像素的均值/标准差...[2022/1/24]
聊聊c++数组名称和sizeof的问题
一维数组名称的用途:
可以统计整个数组在内存中的长度
可以获取数组在内存中的首地址
示例:
int main() {
数组名用途
1、可以获取整个数组占用内存空间大小
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }...[2022/1/24]
QT+OpenCV实现录屏功能QT+OpenCV实现录屏功能
本文使用QT+opencv来实现对指定窗体画面录制,并保存为avi文件。
(1)获取窗体界面
QScreen类有一个grabWindow函数,可以用来获取窗体的画面,这个函数使用很简单,就是传入窗体句柄和要截取的坐标。但是这个函数有一个缺陷,它是通过截取桌面画面的方式,而不是通过
窗体获...[2022/1/19]
OpenCV实现简单套索工具
Photoshop中的套索工具通过鼠标多次点击可以选中一个任意多边形的区域,然后单独对这块区域进行编辑,下面就使用OpenCV实现一个简单的功能,模拟Photoshop中的套索工具。
这里的套索工具通过鼠标左键在图片上多次点击创建任意多个点,右键点击后将这些点连成封闭的多边形,形成一块待编辑的...[2022/1/19]
OpenCV绘制图形功能
本文实例为大家分享了OpenCV绘制图形功能的具体代码,供大家参考,具体内容如下
1、绘制直线
绘制直线函数是cv::line,函数完整形式如下
void line(InputOutputArray img, Point pt1, Point pt2, const Scalar&...[2022/1/19]
简单聊聊C++中回调函数的实现
目录前言1 函数指针2 C风格的回调函数3 C++风格的回调函数4 多态类型的回调函数5 通过function和bind实现回调函数功能6 总结 前言
回调函数其实和普通函数一样,不同的是普通函数是直接在程序中进行调用,回调函数是通过函数指针将它的地址传递给其它函数,函数执行在其它函数体执行,这...[2022/1/19]
分巧克力(刷题赛)
reference
#include<iostream>
#include<cstring>
using namespace std;
/*使得将巧克力按照边长maxX进行切分
,切分成的份数要大于等于K,
而如果按照maxX+1进行切割
,将不再能够切出K块。
如果从...[2022/1/18]
C++ Qt QColorDialog使用方法
目录QColorDialog使用方法getColor的调用QPalette setColor Qt提供了颜色选择框,如下图:
QColorDialog使用方法
例如下面的代码,点击按钮弹出颜色选择框,选择颜色,改变QLabel的背景色
#include "widget.h"
#i...[2022/1/17]
OpenCV实战之图像拼接的示例代码
目录背景实现步骤一、读取文件二、单应性矩阵计算三、图像拼接总结 背景
图像拼接可以应用到手机中的全景拍摄,也就是将多张图片根据关联信息拼成一张图片;
实现步骤
1、读文件并缩放图片大小;
2、根据特征点和计算描述子,得到单应性矩阵;
3、根据单应性矩阵对图像进行变换,然后平移;
...[2022/1/17]
C#跨平台开发之使用C/C++生成的动态链接库
操作环境:Visual Studio 2017
如何实现 使用 C# 进行嵌入式开发?
.NET Core 虽然实现了跨平台,但是不可能处处使用 C# 开发,就好像没人使用SQL开发安卓APP,每种语言都有其优秀的地方和局限性。
就传感器、32位、16位嵌入式设备,可能只有那么几KB的...[2022/1/17]
C++ 实现对象池的具体方法
目录前言一、什么是对象池二、如何实现1.确定接口2.转成代码三、完整代码四、使用示例1、对象复用,示例:2、简易的线程池,示例:总结 前言
需求无限,但资源有限的情况下,就需要对资源进行专门的管理。不断的申请和释放内存是不合理的,会造成内存的波动,以及内存不受限的增长。比如,实现了一个消息队列,...[2022/1/17]