- @TOC 前言本篇文章来讲解抽象类和接口的概念,抽象类和接口都需要依靠我们之前讲解的虚函数来实现,那么我们就来看看如何使用虚函数来实现抽象类和接口吧。 一、抽象类概念抽象类是一种不能直接实例化(即创建对象)的类,它被用作其他类的基类或接口。抽象类通过声明纯虚函数(没有具体实现的虚函数)来定义接口,而派生类必须实现这些纯虚函数才能被实例化。以下是抽象类的特点和用途:1.抽象类不能直接实例化:抽... @TOC 前言本篇文章来讲解抽象类和接口的概念,抽象类和接口都需要依靠我们之前讲解的虚函数来实现,那么我们就来看看如何使用虚函数来实现抽象类和接口吧。 一、抽象类概念抽象类是一种不能直接实例化(即创建对象)的类,它被用作其他类的基类或接口。抽象类通过声明纯虚函数(没有具体实现的虚函数)来定义接口,而派生类必须实现这些纯虚函数才能被实例化。以下是抽象类的特点和用途:1.抽象类不能直接实例化:抽...
- @TOC 前言本篇文章我们来讲解类的继承,继承在C++中是非常重要的概念,这里需要大家认真的学习一下。 一、类的组合关系类的组合关系是一种在面向对象编程中常见的关系类型,它描述了一个类由其他类的对象作为成员来组成的情况。在组合关系中,一个类包含了其他类的对象作为自己的成员,这些成员对象的生命周期与包含它们的类对象的生命周期相关联。组合关系通常用于表示"拥有"的关系,表示一个类作为另一个类的一... @TOC 前言本篇文章我们来讲解类的继承,继承在C++中是非常重要的概念,这里需要大家认真的学习一下。 一、类的组合关系类的组合关系是一种在面向对象编程中常见的关系类型,它描述了一个类由其他类的对象作为成员来组成的情况。在组合关系中,一个类包含了其他类的对象作为自己的成员,这些成员对象的生命周期与包含它们的类对象的生命周期相关联。组合关系通常用于表示"拥有"的关系,表示一个类作为另一个类的一...
- @TOC 前言本篇文章继续讲解C++中的类。 一、类中的静态变量1.在 C++ 中,类中的静态变量是与类本身相关联的变量,而不是实例化的对象的一部分。静态变量被存储在数据区,并在程序运行期间只有一份副本。下面是关于类中静态变量的一些重要概念和特性的解释:2.静态变量声明与定义:在类定义中,可以使用关键字 static 来声明和定义静态变量。静态变量需要在类定义外部进行定义和初始化,以便为其分... @TOC 前言本篇文章继续讲解C++中的类。 一、类中的静态变量1.在 C++ 中,类中的静态变量是与类本身相关联的变量,而不是实例化的对象的一部分。静态变量被存储在数据区,并在程序运行期间只有一份副本。下面是关于类中静态变量的一些重要概念和特性的解释:2.静态变量声明与定义:在类定义中,可以使用关键字 static 来声明和定义静态变量。静态变量需要在类定义外部进行定义和初始化,以便为其分...
- @TOC 前言本篇文章我们继续来讲解C++中的类。 一、初始化列表初始化列表是在 C++ 类的构造函数中使用的一种特殊语法。它允许在对象创建时对成员变量进行初始化。通常,在构造函数的函数体中,我们会使用赋值操作符(=)来对成员变量进行初始化。然而,初始化列表提供了一种在构造函数签名之后的初始化成员变量的方式。初始化列表使用冒号(:)后跟一个成员初始化列表。每个初始化列表由成员变量名和其对应的... @TOC 前言本篇文章我们继续来讲解C++中的类。 一、初始化列表初始化列表是在 C++ 类的构造函数中使用的一种特殊语法。它允许在对象创建时对成员变量进行初始化。通常,在构造函数的函数体中,我们会使用赋值操作符(=)来对成员变量进行初始化。然而,初始化列表提供了一种在构造函数签名之后的初始化成员变量的方式。初始化列表使用冒号(:)后跟一个成员初始化列表。每个初始化列表由成员变量名和其对应的...
- @TOC 前言 一、概念介绍在C++中,类是一种用户自定义的数据类型,用于封装相关的数据和功能。类提供了一种面向对象的编程方式,允许将数据和对数据的操作封装在一个实体中,称为对象。下面是一些关于C++类的主要概念:1.数据成员(Data Members):类的数据成员是用于存储对象的数据的变量或属性。这些成员可以是任何C++数据类型,包括基本类型(如整数、浮点数、字符等)或其他用户定义的类类... @TOC 前言 一、概念介绍在C++中,类是一种用户自定义的数据类型,用于封装相关的数据和功能。类提供了一种面向对象的编程方式,允许将数据和对数据的操作封装在一个实体中,称为对象。下面是一些关于C++类的主要概念:1.数据成员(Data Members):类的数据成员是用于存储对象的数据的变量或属性。这些成员可以是任何C++数据类型,包括基本类型(如整数、浮点数、字符等)或其他用户定义的类类...
- @TOC 前言本篇文章来讲解函数重载,函数重载在C++中是非常重要的一个概念。 一、概念讲解C++中的函数重载是指在同一个作用域中定义多个具有相同名称但参数列表不同的函数。函数重载允许使用相同的函数名来表示执行类似但具有不同参数类型或参数数量的操作。这样做可以提高代码的可读性和灵活性,使程序员更加方便地调用适合不同情境的函数。函数重载的特点如下:1.函数名称相同:重载函数的名称必须相同。2.... @TOC 前言本篇文章来讲解函数重载,函数重载在C++中是非常重要的一个概念。 一、概念讲解C++中的函数重载是指在同一个作用域中定义多个具有相同名称但参数列表不同的函数。函数重载允许使用相同的函数名来表示执行类似但具有不同参数类型或参数数量的操作。这样做可以提高代码的可读性和灵活性,使程序员更加方便地调用适合不同情境的函数。函数重载的特点如下:1.函数名称相同:重载函数的名称必须相同。2....
- 闭散列的回顾在前面的学习中我们知道了闭散列的运算规则,当两个数据计算得到的位置发生冲突时,它会自动的往后寻找没有发生冲突的位置,比如说当前数据的内容如下:当插入的数据为33时计算的位置为3,可是位置3已经被占领了并且4也被占领了,但是位置5没有被占领所以插入数据33就会占领位置5,那么这里的图片就如下:这就是闭散列的插入原则,并且每个节点都有一个变量用来表示状态,这样在查找就不会出现漏查的情... 闭散列的回顾在前面的学习中我们知道了闭散列的运算规则,当两个数据计算得到的位置发生冲突时,它会自动的往后寻找没有发生冲突的位置,比如说当前数据的内容如下:当插入的数据为33时计算的位置为3,可是位置3已经被占领了并且4也被占领了,但是位置5没有被占领所以插入数据33就会占领位置5,那么这里的图片就如下:这就是闭散列的插入原则,并且每个节点都有一个变量用来表示状态,这样在查找就不会出现漏查的情...
- @TOC 前言在上节课(Linux网络编程初体验)中我们实现了连接bilibili的功能,并获取其html源码如图所示.今天我们要自己编写个服务端来服务我们的客户端提示:以下是本篇文章正文内容,下面案例可供参考 服务端是啥、有什么特点服务端长期暴露于网络,并等待客户端连接特点:服务端无法主动连接客户端客户端只能按照预定义的方式连接服务端服务端编程模式:socket()->bind()->li... @TOC 前言在上节课(Linux网络编程初体验)中我们实现了连接bilibili的功能,并获取其html源码如图所示.今天我们要自己编写个服务端来服务我们的客户端提示:以下是本篇文章正文内容,下面案例可供参考 服务端是啥、有什么特点服务端长期暴露于网络,并等待客户端连接特点:服务端无法主动连接客户端客户端只能按照预定义的方式连接服务端服务端编程模式:socket()->bind()->li...
- @TOC QRadioButtonQRadioButton片这个按钮类应对多选一的场景。打开windows的画图软件,我们就可以看到下面的:如果我们刚开始的是线,然后我们又想画矩形,则线这个框会没有,取而代之的是在矩形这里,这和Qt中的QRadioButton是差不多的。 属性没有讲的其他的可以在帮助文档搜索获取和设置显示的文本QString text() constvoid setText... @TOC QRadioButtonQRadioButton片这个按钮类应对多选一的场景。打开windows的画图软件,我们就可以看到下面的:如果我们刚开始的是线,然后我们又想画矩形,则线这个框会没有,取而代之的是在矩形这里,这和Qt中的QRadioButton是差不多的。 属性没有讲的其他的可以在帮助文档搜索获取和设置显示的文本QString text() constvoid setText...
- @TOC 前言esp32有很多的功能,例如wifi,蓝牙等,这节我们学习最简单的点灯。提示:以下是本篇文章正文内容,下面案例可供参考 ESP32简介ESP32模块是ESP8266的升级版本。除了Wi-Fi模块,该模块还包含蓝牙4.0模块。双核CPU工作频率为80至240 MHz,包含两个Wi-Fi和蓝牙模块以及各种输入和输出引脚, ESP32是物联网项目的理想选择。虽然ESP32的引脚数比常... @TOC 前言esp32有很多的功能,例如wifi,蓝牙等,这节我们学习最简单的点灯。提示:以下是本篇文章正文内容,下面案例可供参考 ESP32简介ESP32模块是ESP8266的升级版本。除了Wi-Fi模块,该模块还包含蓝牙4.0模块。双核CPU工作频率为80至240 MHz,包含两个Wi-Fi和蓝牙模块以及各种输入和输出引脚, ESP32是物联网项目的理想选择。虽然ESP32的引脚数比常...
- @TOC 一、CMake概况CMake 是一个项目构建工具,并且是跨平台的。关于项目构建我们所熟知的还有Makefile(通过 make 命令进行项目的构建),大多是IDE软件都集成了make,比如:VS 的 nmake、linux 下的 GNU make、Qt 的 qmake等,如果自己动手写 makefile,会发现,makefile 通常依赖于当前的编译平台,而且编写 makefile... @TOC 一、CMake概况CMake 是一个项目构建工具,并且是跨平台的。关于项目构建我们所熟知的还有Makefile(通过 make 命令进行项目的构建),大多是IDE软件都集成了make,比如:VS 的 nmake、linux 下的 GNU make、Qt 的 qmake等,如果自己动手写 makefile,会发现,makefile 通常依赖于当前的编译平台,而且编写 makefile...
- @TOC 一、时间复杂度 时间复杂度的定义时间复杂度是衡量算法运行时间随着输入规模增加而增长的度量标准。它描述了算法所需执行的基本操作数量和输入规模之间的关系。通俗来说,时间复杂度表示了算法执行所需的时间随着问题规模的增加而增长的速度。结论:判断一个算法的效率时,操作数量中的常数项和其他次要项常常可以忽略,只需要关注最高阶次项就能得出结论。 时间复杂度的表示法时间复杂度是:算法运行后对时间的... @TOC 一、时间复杂度 时间复杂度的定义时间复杂度是衡量算法运行时间随着输入规模增加而增长的度量标准。它描述了算法所需执行的基本操作数量和输入规模之间的关系。通俗来说,时间复杂度表示了算法执行所需的时间随着问题规模的增加而增长的速度。结论:判断一个算法的效率时,操作数量中的常数项和其他次要项常常可以忽略,只需要关注最高阶次项就能得出结论。 时间复杂度的表示法时间复杂度是:算法运行后对时间的...
- C/C++ 程序越复杂,内存的管理显得越重要,稍有不慎就会出现泄漏。如果内存泄漏不是很严重,在短时间内对程序不会有太大影响,这也使得内存泄漏问题有很强的隐蔽性,不易被发现。然而不管内存泄漏多么轻微,当程序长时间运行时,其破坏力是惊人的 - 从性能下降到内存耗尽,甚至会影响其他程序的正常运行。一、VLD 简介VLD(全称:Visual Leak Detector)是一款用于 Visual C+... C/C++ 程序越复杂,内存的管理显得越重要,稍有不慎就会出现泄漏。如果内存泄漏不是很严重,在短时间内对程序不会有太大影响,这也使得内存泄漏问题有很强的隐蔽性,不易被发现。然而不管内存泄漏多么轻微,当程序长时间运行时,其破坏力是惊人的 - 从性能下降到内存耗尽,甚至会影响其他程序的正常运行。一、VLD 简介VLD(全称:Visual Leak Detector)是一款用于 Visual C+...
- 前言生活中大家都喜欢定标准搞模板来规范化一系列流程,抽象类和接口却玩不明白,抽象类和接口相似,都是一种比较特殊的类,抽象类是一种特殊的类,而接口也是一种特殊的抽象类。他们通常配合面向对象的多态性一起使用。虽然声明和使用都比较容易,但他们的作用在理解上会稍微困难一点,接下来本文就带你了解抽象类的相关内容及使用.什么是抽象类在OOP语言中,一个类可以有一个或多个子类,而每个类都至少有一个公有方法... 前言生活中大家都喜欢定标准搞模板来规范化一系列流程,抽象类和接口却玩不明白,抽象类和接口相似,都是一种比较特殊的类,抽象类是一种特殊的类,而接口也是一种特殊的抽象类。他们通常配合面向对象的多态性一起使用。虽然声明和使用都比较容易,但他们的作用在理解上会稍微困难一点,接下来本文就带你了解抽象类的相关内容及使用.什么是抽象类在OOP语言中,一个类可以有一个或多个子类,而每个类都至少有一个公有方法...
- @TOC 前言ESP32是一款集成Wi-Fi和蓝牙的开发板,它可以轻松地和其他设备进行网络和TCP/IP通信提示:以下是本篇文章正文内容,下面案例可供参考 esp32网络学习路线ESP32网络学习:了解网络协议:在了解ESP32的网络功能之前,需要了解一些基本的网络协议,例如TCP,IP,DNS和HTTP等。这可以帮助您更深入地了解如何使用ESP32与其他设备进行通信。配置Wi-Fi:可以通... @TOC 前言ESP32是一款集成Wi-Fi和蓝牙的开发板,它可以轻松地和其他设备进行网络和TCP/IP通信提示:以下是本篇文章正文内容,下面案例可供参考 esp32网络学习路线ESP32网络学习:了解网络协议:在了解ESP32的网络功能之前,需要了解一些基本的网络协议,例如TCP,IP,DNS和HTTP等。这可以帮助您更深入地了解如何使用ESP32与其他设备进行通信。配置Wi-Fi:可以通...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签