
C++
文章平均质量分 50
昂德森科技
因为热爱,所以拼搏。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言结构体的再认识
结构体内部有了像类一样的构造函数,不仅有有参构造函数还有无参构造函数,这样也是可以的,struct定义的变量不像class类一样是私有的,它定义的变量是公开的,一般我们结合默认构造函数以及构造函数一块使用,这样简化了编程模型。以前对结构体的了解感觉还是很浅,在做项目的时候突然有时候有一种顿悟的感觉,原来结构体就像一位曾经的故人,只是我没明白他的苦心。原创 2024-04-02 10:26:06 · 256 阅读 · 0 评论 -
构造函数初始化列表使用
在这个里pixmap并没有赋值给任何成员变量,而是赋值给了基类的构造函数,在这种情况下,pixmap 参数的作用是传递给基类构造函数,以便在 QSplashScreen 对象被创建时使用。初始化列表: width(w), height(h), area(w * h)在构造函数的开始处使用,它按照成员变量的声明顺序来初始化它们。构造函数Rectangle(int w, int h)接受两个参数:w和h。width和height分别用传入构造函数的w和h来初始化。原创 2024-03-29 15:42:10 · 350 阅读 · 0 评论 -
C++中的类型转换
在C++编程语言中,强制类型转换(也称为类型转换运算符)是一种在不同数据类型之间转换值的机制。这种转换可以是隐式的,也就是说由编译器自动进行,或者是显式的,即程序员明确指定进行转换。原创 2024-03-29 10:29:51 · 726 阅读 · 0 评论 -
windows编程里HANDLE作用
即使文件系统进行了一些优化操作,比如移动文件以优化存储空间,句柄仍然有效,因为它指向的是文件的内核对象表示,而不是文件的物理位置。操作系统负责跟踪文件的实际位置,并确保所有的句柄都能正确地访问到文件数据。获得一个文件句柄时,操作系统会为您管理这个文件资源,确保可以通过这个句柄与文件进行交互,无论文件在磁盘上的实际位置如何变化。在这个例子中,CreateFile 函数尝试打开名为 “example.txt” 的文件,并将文件的句柄赋值给。句柄实际上是一个指向内核对象的指针,而不是文件在文件系统中的物理地址。原创 2024-03-28 14:29:11 · 496 阅读 · 0 评论 -
关于VS远程调试我要说的是
然后用共享文件夹方式或者U盘将本地主机VS下的拷贝本地msvsmon.exe和相关dll到目标电脑,本地路径为VS2017安装路径(Microsoft Visual Studio\2017\Professional\Common7\IDE\Remote Debugger),有x64和x86两个版本,根据需要拷贝对应文件夹即可。由于项目需要,远程的主机配置不够无法安装VS2017,所以现在场景是把VS2017的程序部署到远程主机上,然后在本机上联合远程主机进行远程调试,实现项目测试。原创 2023-07-24 23:13:33 · 175 阅读 · 0 评论 -
C++ STL仿函数的操作
我的代码里需要用到构造函数的初始化的一些操作,我先来写出构造函数初始化的两种方法,防止您对后面仿函数代码的不清楚#include <iostream>using namespace std;class OK {public: int a; int b;public: /*OK(int c, int d) :a(c), b(c) { }*/ OK() :a(2), b(5) { }};void main() { OK *a1=new OK(); cout <原创 2021-09-15 21:06:54 · 123 阅读 · 0 评论 -
什么是C++深拷贝和浅拷贝?
浅拷贝就是把原对象的每一个成员字段的值都拷贝到新对象中去。这对于普通的字段是可以的,但是对于指针字段未必成立,因为指针所指的那段内存是动态分配的,并不会自动得到拷贝。这就导致新对象与原对象中的字段,全都指向同一块动态分配的内存,这种效果并不是我们所期望的,由系统默认提供的拷贝构造函数与赋值运算符执行的都是浅拷贝。深拷贝不仅拷贝原对象的每一个字段,而且还将动态分配给该字段的内容也一样复制过来。为此我们必须编写拷贝构造函数并且重载运算符,否则还会像浅拷贝一样是新老对象的指针字段都指向同一块内存。...原创 2021-09-05 10:01:06 · 203 阅读 · 0 评论 -
C++拷贝构造函数(复制构造函数
拷贝和复制是一个意思,对应的英文单词都是copy。对于计算机来说,拷贝是指用一份原有的、已经存在的数据创建出一份新的数据,最终的结果是多了一份相同的数据。例如,将 Word 文档拷贝到U盘去复印店打印,将 D 盘的图片拷贝到桌面以方便浏览,将重要的文件上传到百度网盘以防止丢失等,都是「创建一份新数据」的意思。在 C++ 中,拷贝并没有脱离它本来的含义,只是将这个含义进行了“特化”,是指用已经存在的对象创建出一个新的对象。从本质上讲,对象也是一份数据,因为它会占用内存。严格来说,对象的创建包括两个阶段,首原创 2021-09-05 09:45:25 · 182 阅读 · 0 评论 -
C++打字游戏
很早之前C++写打字游戏:运行效果:代码如下:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <time.h>#include <stdlib.h>#include <conio.h>#include <graphics.h>#include <mmsystem.h>#pragma comment(lib,"Winmm.lib")const i原创 2021-06-24 10:23:14 · 1239 阅读 · 0 评论 -
MFC捐款管理系统
程序的运行:首先来看登录界面:这个登录界面对应ManageSystemDlg类,在ManageSystemDlg.cpp中主要就是一个登录的逻辑代码,如果用户名和密码输入正确当前主窗口隐藏,子窗口弹出,子窗口SysytemDig就是程序的主界面类:关键代码:void CManageSystemDlg::OnBnClickedButtonLgn(){ // TODO: Add your control notification handler code here CString sun, s原创 2021-06-24 10:06:11 · 794 阅读 · 5 评论 -
QThread创建多线程程序
我们都知道一个程序一般只有一个线程,但是单独的线程面对一些小号耗时的操作效果会不好,引入单独的线程解决耗时的操作,并且与主线程之间处理好同步与数据交互,用处十分大。今天通过一个简单的掷色子程序描述这一过程:程序运行如下:...原创 2021-06-17 18:16:45 · 453 阅读 · 0 评论 -
自定义Qt Designer插件
上次我的博客中写到了创建自定义的控件,但是这次我们想在把自定义的电池控件设置到qtui设计器中,该如何操作?1 首先点击Qt Creater的File -> new file or project出现其他项目,在其中选择:2 接下来设置项目信息先设置项目名称为接下来选择编译器:一定要选择MSVC2015 32bit!!!!!!!!!!!!接下来如图操作:接下来到最后保持默认属性不变。3 在qmybattery.h中添加代码:#ifndef QMYBATTERY_H#def原创 2021-06-17 11:20:36 · 639 阅读 · 0 评论 -
C++虚基类
C++ 中虚基类的作用主要是为了继承间接的共同基类时只保留一份成员假设A有父类B,C。B,C又有共同父类D,那么假设D中有一个公有的fun方法,那么B中继承了fun方法,C中也继承了fun方法,由此A继承了两个fun方法。虚基类的一般形式为:class 派生类名: virtual 继承方式 基类名#include <iostream>using namespace std;#include <string>class Person {public: Person(原创 2021-06-16 21:53:35 · 927 阅读 · 0 评论 -
类型转换函数
前面介绍的转换构造函数是将一个指定数据类型转换为类的对象,但是不能反过来将一个类的对象转换为一个数据,比如你想把一个Complex类对象c1转换为double型数据。而类型转换函数正是解决了这个问题,它将一个类的对象转换为另一个类型的数据。定义的方法:operator 类型名(){实现转换的语句}注意: 类型转换函数只能作为成员函数,因为转换的主体是本类的对象,不能作为友元函数或者普通函数。#include <iostream>using namespace std;class原创 2021-06-16 21:23:27 · 457 阅读 · 0 评论 -
C++转换构造函数
转换构造函数是将一个其他类型的数据成员转换成一个类的对象。如Complex(double r){real = r; imag = 0;}这个作用就是将double型的r参数转换为Complex类的对象,r为复数的实部,虚部imag为0。假如在Complex类中已经有上述定义,在Complex中有以下定义:Complex c1(3.5)建立Complex类对象,实部为3.5 虚部为0 它的作用就是将double型常数转换为一个名为c1的Complex对象,也可以建立一个无名的对象如:Complex(原创 2021-06-16 21:03:52 · 419 阅读 · 0 评论 -
QT自定义Widget控件及其使用
今天来给大家分享一下QT自定义widget控件及其使用,当ui设计器提供的界面不满足实际需求时,可以从QWidget继承自定义的界面组件。有两种方法一种是提升法,另一种是ui设计器自定义界面组件widget组件。我们本次先说提升法。通过这个简单的例子说明提升法在这个窗体中,有一个label控件,一个horizontalSlider控件,以及一个自定义的电池控件。1 为了设计这个电池控件,首先设计一个自定义的widget组件。为此,设计一个从Qwidget中继承的类QmyBattery。创建C++类原创 2021-06-16 13:38:45 · 11568 阅读 · 0 评论 -
linux下编译出现undefined reference to `pthread_create‘
linux下编译出现undefined reference to `pthread_create’这个只要在编译的时候加上 -lpthread就可以完美解决比如gcc -lpthread xxx.c./a.out为什么会出现这个错误那pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。...原创 2021-05-25 16:06:35 · 619 阅读 · 0 评论 -
C++多线程
C++的多线程:基本就完成了如下的问题,#include using namespace std;#include <windows.h>HANDLE h[5];int test1(void *p) {for (int i = 0; i < 100; i++) {cout << “1”;Sleep(10);}SetEvent(h[0]);SetEvent(h[1]);return 0;}int test2(void *p) {WaitForSin原创 2021-05-01 18:51:10 · 142 阅读 · 0 评论