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

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.构造和析构的使用
  • 类的继承
    •   1.基类和派生类的定义
    •   2.基类和子类的代码中的表示方式
    •   3.类的继承方式
      •     A.公有继承
      •     B.保护继承
      •     C.私有继承
  • 函数重载
    •  1.函数重载的概念
    •  2.构造函数的重载
      •   A.构造函数的重载在类中的实现
      •   B.构造函数的使用和调用结果
    •  3.普通函数的重载
      •   A.普通成员函数的函数重载
      •   B.重载之后函数的使用
      •   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的执行效果

在这里插入图片描述


类的继承

  1.基类和派生类的定义

    A.没有继承其他类的类称为基类
    B.继承其他类的成员和函数的称为子类
在这里插入图片描述

  2.基类和子类的代码中的表示方式

    1.派生类
    2.基类
在这里插入图片描述

    可以使用子类访问父类的成员

    成员变量和函数的调用
在这里插入图片描述
    调用成功后显示
在这里插入图片描述

  3.类的继承方式

    A.公有继承

        继承时子类访问父类的权限
在这里插入图片描述

        无法访问private成员

在这里插入图片描述

        可以访问public和protected成员

在这里插入图片描述

    B.保护继承

        保护继承时子类访问父类的权限
在这里插入图片描述

        派生类对象不能访问基类中的任何成员

在这里插入图片描述

        派生类成员只能访问基类中public/protected成员

在这里插入图片描述

    C.私有继承

        私有继承时子类访问父类的权限
在这里插入图片描述

        私有继承子类只能访问基类的public和protected成员,不能访问privated成员,子类对象不能访问基类任何成员

在这里插入图片描述

函数重载

 1.函数重载的概念

  类中定义两个同名函数,不同参数个数,不同参数类型,不同参数顺序,不同返回值,则为函数重载
在这里插入图片描述

 2.构造函数的重载

  A.构造函数的重载在类中的实现

在这里插入图片描述

  B.构造函数的使用和调用结果

在这里插入图片描述

 3.普通函数的重载

  A.普通成员函数的函数重载

在这里插入图片描述

  B.重载之后函数的使用

在这里插入图片描述

  C.改变返回类型和参数类型的重载函数

在这里插入图片描述
                            调用结果如下所示
在这里插入图片描述


http://www.kler.cn/a/379158.html

相关文章:

  • GO语言基础(三)
  • 真·香!深度体验 zCloud 数据库云管平台 -- DBA日常管理篇
  • Postgresql源码(137)执行器参数传递与使用
  • 【力扣专题栏】面试题 01.02. 判定是否互为字符重排,如何利用数组模拟哈希表解决两字符串互排问题?
  • H5页面在线预览pdf
  • 《Python游戏编程入门》注-第4章8
  • Stable Diffusion Web UI 1.9.4常用插件扩展-WD14-tagger
  • Spring Boot技术:校园社团信息管理的创新解决方案
  • 123.WEB渗透测试-信息收集-ARL(14)
  • 初始计算机网络
  • sqlserver、达梦、mysql的差异
  • React 组件生命周期与 Hooks 简明指南
  • HTTP代理是什么?有什么用?
  • git pull遇到一个问题
  • 揭秘Scam-as-a-Service:警惕钓鱼攻击的产业化
  • centos7之LVS-DR模式传统部署
  • 21 Docker容器集群网络架构:四、Docker集群网络验证
  • 在k8s环境中如何在本地和pod之间同步文件?
  • 基于微信小程序的生签到系统设计与实现(lw+演示+源码+运行)
  • 一键式配置适合 Web 开发的Ubuntu系统
  • 采用SpeedL模式控制UR5e机器人
  • HarmonyOS开发 - 餐饮APP中多门店多窗口打开实例补充
  • Unity简易版成就系统
  • FPGA 开发相关的资源
  • 如何实现视频人声分离?实用方法分享
  • Windows 部署非安装版Redis