当前位置: 首页 > 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;简单测试后就没有再动。 今天…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)

+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...