当前位置: 首页 > news >正文

qt的c++环境配置和c++基础【正点原子】嵌入式Qt5 C++开发视频

QT c++ 环境配置和c++基础

  • c++环境配置和工程创建
    •   1.配置步骤
    •   2.新建qt 工程目录和工程
    •   3.重启qt后打开最近的qt项目
  • c++基础-类和对象
    •   1.什么是类和对象
      •     A.类的定义
      •     B.类的结构表示
      •     C.类的访问权限
      •     D.对象的定义
      •     E.类和对象的关系
    •   2.类和对象在qt中的使用
      •     A.类在qt中进行定义
      •     B.对象在qt中的使用
  • c++基础-构造函数和析构函数
    •   1.构造函数的定义和在类中的定义
      •     A.构造函数的定义
      •     B.默认构造函数在类中的定义
      •     c.类中无定义默认构造函数时
    •   2.析构函数的定义和在类中的定义
      •     A.析构函数的定义
      •     B.默认析构函数在类中的定义
      •     c.类中无定义默认析构函数时
    •   3.构造函数和析构函数的使用
      •     A.构造函数在qt中定义
      •     B.析构函数在qt中定义
      •     C.构造和析构的使用


c++环境配置和工程创建

  1.配置步骤

    STEP1:配置软件源服务器地址
    STEP2:执行指令安装c语言和c++环境

sudo apt-get install gcc g++
sudo apt-get install lsb-core lib32stdc++6

    STEP3:用指令查看安装的gcc和g++版本,安装之后要重启qt

g++ -v
gcc -v

配置步骤总结
在这里插入图片描述

  2.新建qt 工程目录和工程

1.新建目录和工程的第一步

在这里插入图片描述

2.选择创建一个只有c++语言的工程

在这里插入图片描述

3.路径放在刚刚创建的文件夹,然后名称随意,后面全部点下一步直到点击到完成,这样就创建一个c++工程

在这里插入图片描述

如果没有配置c++环境就会直接报错

在这里插入图片描述

  3.重启qt后打开最近的qt项目

STEP1:选择最近使用的项目

在这里插入图片描述

STEP2:点击configure project

在这里插入图片描述

STEP3:打开后发现无报错,此时点击三角形进行编译

在这里插入图片描述

如果发现报错显示是make错误,那么说明没有安装其他库,此时输入配置指令第二步的指令进行安装即可

在这里插入图片描述

配置正常之后显示

在这里插入图片描述


c++基础-类和对象

  1.什么是类和对象

    A.类的定义

      类是一种构造类型,与c语言结构体相似,类的成员不但可以是变量,还可以是函数.

    B.类的结构表示

在定义一个类时需要按照这样的格式进行书写
在这里插入图片描述

    C.类的访问权限

类的访问权限控制通过这三个关键字控制.
在这里插入图片描述

    D.对象的定义

      通过类定义出来的变量称为对象,创建对象的过程也成为类的实例化.

    E.类和对象的关系

      类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量

类和对象的定义以及类和对象的关系总结
在这里插入图片描述

  2.类和对象在qt中的使用

    A.类在qt中进行定义

类定义的书写
在这里插入图片描述

    B.对象在qt中的使用

两种方法从类中实例化对象
在这里插入图片描述

从栈中实例化对象

在这里插入图片描述

从堆中实例化对象

在这里插入图片描述

删除对象

在这里插入图片描述

当成员变量被私有或者protected之后,不能直接访问私有变量,会报错

在这里插入图片描述

类的成员函数定义

在这里插入图片描述

类的成员函数调用

在这里插入图片描述


c++基础-构造函数和析构函数

  1.构造函数的定义和在类中的定义

    A.构造函数的定义

构造函数是一个名称与类名相同,没有返回值的函数,他在类的实例化时被调用
在这里插入图片描述

    B.默认构造函数在类中的定义

#include<iostream>class Dog{
public:Dog();
};

类中的定义表示
在这里插入图片描述

    c.类中无定义默认构造函数时

没有定义构造函数的内容的话,编译器会合成一个默认的构造函数.`默认构造函数不执行任何操作,不写类也是有默认构造函数
在这里插入图片描述

  2.析构函数的定义和在类中的定义

    A.析构函数的定义

析构函数是一个名称与类名相同的函数,他在对象销毁时调用析构函数.
在这里插入图片描述

    B.默认析构函数在类中的定义

析构的定义表示
在这里插入图片描述

    c.类中无定义默认析构函数时

没有定义析构函数的内容的话,编译器会合成一个默认的析构函数.默认的析构函数不执行任何操作,不写也是类也有默认析构函数`
在这里插入图片描述

  3.构造函数和析构函数的使用

    A.构造函数在qt中定义

构造函数的内部实现(可自由定义)
在这里插入图片描述

    B.析构函数在qt中定义

析构函数的内部实现(可自由定义)

在这里插入图片描述

    C.构造和析构的使用

在初始化对象和退出释放对象资源时调用

在这里插入图片描述

在堆中实例化对象之后,需要delete将对象进行删除,否则执行之后,析构函数不会执行

在这里插入图片描述

加上delete的执行效果

在这里插入图片描述


相关文章:

qt的c++环境配置和c++基础【正点原子】嵌入式Qt5 C++开发视频

QT c 环境配置和c基础 c环境配置和工程创建  1.配置步骤  2.新建qt 工程目录和工程  3.重启qt后打开最近的qt项目 c基础-类和对象  1.什么是类和对象    A.类的定义    B.类的结构表示    C.类的访问权限    D.对象的定义    E.类和对象的关系 2.类…...

中间件安全(三)

本文仅作为学习参考使用&#xff0c;本文作者对任何使用本文进行渗透攻击破坏不负任何责任。 前言: 本文主要讲解apache命令执行漏洞&#xff08;cve_2021_41773&#xff09;。 靶场链接&#xff1a;Vulfocus 漏洞威胁分析平台 一&#xff0c;漏洞简介。 cve_2021_41773漏洞…...

唱戏机上的内存卡怎么加密?教你两个方法

唱戏机是中老年人群休闲时光的好伴侣。然而&#xff0c;很多唱戏机商家都会面临一个困扰&#xff1a;如何保护唱戏机上内存卡中的音频&#xff0c;避免他人随意复制呢&#xff1f;今天这篇文章看完&#xff0c;问题将迎刃而解~ 数据隐藏 将内存卡插到电脑上&#xff0c;对卡里…...

MyBatis 源码分析 - SQL执行过程(三)之 ResultSetHandler

MyBatis的SQL执行过程 在前面一系列的文档中&#xff0c;我已经分析了 MyBatis 的基础支持层以及整个的初始化过程&#xff0c;此时 MyBatis 已经处于就绪状态了&#xff0c;等待使用者发号施令了 那么接下来我们来看看它执行SQL的整个过程&#xff0c;该过程比较复杂&#xff…...

webpack解决使用window.open方法打开history路由页面提示404的问题

问题: 一般情况下应该使用history.push(/ssh)打开history路由页面 但项目中使用window.open(/ssh),然后使用new WebSocket进行通信 开发环境下启动项目后,/ssh页面打开却显示cannot get /ssh,控制台提示404 排查问题: 在React开发环境中使用 window.open 打开路由页面时&a…...

怎么把视频的声音转化为文字免费?7个小妙招,视频转文字轻松解决!

您是否也曾在做会议记录时&#xff0c;希望能免费把视频的声音转化为文字呢&#xff1f;在如今我们的办公生活中&#xff0c;用视频记录会议、记录的生活似乎已经成为了我们一项必备技能&#xff0c;但也并非所有人都能轻松获取视频中的信息。尤其是有着听力障碍的人群&#xf…...

【无标题】2024年第五届 MathorCup 数学应用挑战赛——大数据竞赛赛题

2024年第五届 MathorCup 数学应用挑战赛——大数据竞赛赛题已发布~&#xff0c;本届初赛时间为&#xff1a;2024年10月25日18:00至2024年11月1日20:00。本次赛题分为A&#xff0c;B两道&#xff0c;所有参赛队从赛道 A、B 中任选一题作答。在报名系统内选择自己队伍的赛道时&am…...

新能源行业必会基础知识---电力现货问答---第9问---什么是输电权?什么是输电权市场?

新能源行业必会基础知识-----电力现货问答-----主目录-----持续更新https://blog.csdn.net/grd_java/article/details/142909208 虽然这本书已经出来有几年了&#xff0c;现货市场已经产生了一定变化&#xff0c;但是原理还是相通的。还是推荐大家买来这本书进行阅读观看&#…...

视频文案素材获取渠道分享

做视频时为文案发愁&#xff1f;别担心&#xff01;今天为大家推荐几个实用的视频文案素材网站&#xff0c;让你灵感爆棚&#xff0c;轻松创作文案。 蛙学网 首先要推荐的是蛙学网。作为专业短视频素材库&#xff0c;不仅有修牛蹄、解压视频等热门素材&#xff0c;还为短视频创…...

尚硅谷-react教程-求和案例-数据共享(下篇)-完成数据共享-笔记

#1024程序员节&#xff5c;征文# public/index.html <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>redux</title></head><body><div id"root"></div></body> </html&…...

VB中如何创建和使用自定义控件

在Visual Basic&#xff08;VB&#xff09;中&#xff0c;创建和使用自定义控件是一个高级功能&#xff0c;它允许开发者根据特定需求创建具有独特行为和外观的控件。以下是在VB中创建和使用自定义控件的一般步骤&#xff1a; 一、创建自定义控件 打开VB开发环境&#xff1a; …...

Java继承的super关键字

在Java中&#xff0c;super关键字用于调用父类的构造方法、访问父类的成员变量和成员方法。 调用父类的构造方法&#xff1a; 在子类的构造方法中&#xff0c;可以使用super关键字来调用父类的构造方法。这可以帮助子类初始化从父类继承的属性。调用父类的构造方法要使用以下语…...

3D点云与2D图像的相互转换:2D图像对应像素的坐标 转为3D空间的对应坐标

2d ----> 3d 对应像素到空间坐标的转换 参考&#xff1a;深度相机&#xff0c;通过2d检测得到目标坐标系的3d检测框_深度图到相机坐标-CSDN博客...

查找算法简记

一、简单查找&#xff08;顺序查找&#xff09; 最基本的查找&#xff0c;相当于遍历&#xff0c;从头到尾一个一个找。 二、二分查找 1、简述 二分查找的输入是一个有序的元素列表。 如果要查找的元素包含在列表中&#xff0c;二分查找返回其位置&#xff1b; 否则返回null。…...

算法竞赛(Python)-状态间的奇妙转移(动态规划)

文章目录 一、初探动态规划1 拼图游戏&#xff08;从搜索到动态规划&#xff09;2 物流仓库——状态的转移 二、状态的巧妙定义1 不同的状态和转移2 流浪猫的家——状态压缩与状态剪枝 三 转移方式的神奇优化1 运输计划——在转移中剪枝2 会议安排——在决策中剪枝 三、经典的动…...

String.format() 用法详解

**String.format()详解示例&#xff1a;**import java.util.Date; /** String.format() 格式化 / public class format { /* 字符串占位符类型%s 字符串类型%c 字符类型%b 布尔类型%d 整数类型&#xff08;十进制&#xff09;%x 整数类型&#xff08;十六进制&#xff09;%o …...

es 常用命令(已亲测)

说明&#xff1a; elastic:1235 账号:密码 _isShare &#xff1a; 字段 1、 根据一个参数查询es curl -XGET -u elastic:1235 http://10.223.73.3:9200/catalog/_search \ -H Content-Type: application/json \ -d {"query":{"match":{"_isShar…...

RabbitMQ 高级特性——事务

文章目录 前言事务配置事务管理器加上Transactional注解 前言 前面我们学习了 RabbitMQ 的延迟队列&#xff0c;通过延迟队列可以实现生产者生产的消息不是立即被消费者消费。那么这篇文章我们将来学习 RabbitMQ 的事务。 事务 RabbitMQ 是基于 AMQP 协议实现的&#xff0c;…...

HCIP-HarmonyOS Application Developer V1.0 笔记(二)

类Web开发范式自定义组件基本用法 自定义组件通过element引入到宿主页面。 Props自定义属性 自定义属性支持类型 String&#xff0c;Number&#xff0c;Boolean&#xff0c;Array&#xff0c;Object。 命名规范&#xff1a; 命名时禁止以on、、on:、grab:等保留关键字为开头…...

初体验鸿蒙 HarmonyOS NEXT开发

上个星期三就下载了鸿蒙 HarmonyOS NEXT&#xff0c;安装好了后测试了一下&#xff0c;感觉界面和功能设计与IntelliJ IDEA很像&#xff0c;对初学者非常友好&#xff0c;所见即所得。不知道什么原因&#xff0c;写了代码后测试起来很慢&#xff0c;简单测试后就没有再动。 今天…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...