【C++/嵌入式笔试面试八股】一、32.封装

news/2024/11/8 0:39:35/

封装

08.C++中struct和class的区别🍊

相同点

  • 两者都拥有成员函数、公有和私有部分
  • 任何可以使用class完成的工作,同样可以使用struct完成

不同点

  • 两者中如果不对成员不指定公私有,struct默认是公有的,class则默认是私有的
  • class默认是private继承, 而struct默认是public继承
  • class还可以定义模板类形参, 比如template。

引申:C++和C的struct区别

  • 成员函数:C++中的struct可以拥有成员函数,可以在结构体内定义成员函数,实现面向对象编程的特性。
  • 访问控制:C++中的struct可以使用public、protected和private关键字来定义成员变量的访问权限,而C中的struct只能使用public来定义结构体成员变量。
  • 继承:C++中的struct可以继承其他结构体或类,而C中的struct没有继承的概念。
  • 构造函数和析构函数:C++中的struct可以有构造函数和析构函数,而C中的struct只能通过函数来初始化或释放内存。
  • 类型转换:C++中的struct可以进行类型转换,比

http://www.ppmy.cn/news/99880.html

相关文章

【线程池】Executors框架创建线程池

目录 1、newCachedThreadPool 2、newFixedThreadPool(fixed:固定的) 3、newSingleThreadExecutor 4、newScheduledThreadPool 5、newSingleThreadScheduledExecutor 6、newWorkStealingPool 7、为什么不推荐使用内置线程池&#xff1f…

分布式网络通信框架(十)——Mprpc框架使用示例

发布一个服务提供远程调用方法的流程 若想要发布一个服务提供一些远程调用方法,步骤如下: 先在protobuf文件中添加参数和返回值的message 类型,然后再添加希望提供的服务 service 类型(如UserServiceRpc)和 其中的方…

看完这篇Markdown你就会了

Markdown是一种轻量级标记语言,它的设计目标是让人们使用简单的语法快速地书写文本内容,并且可以转换为HTML等其他格式。Markdown的语法非常简单易学,只需要掌握几个基本的符号即可,相比于HTML等其他标记语言,Markdown…

如何正确地使用ES6提高我们的代码质量

前言 相信每个前端工程师,或者了解前端的人都知道ES6。它是js的一次巨变,它为我们开发js前端项目的时候带来了许多更好的去书写代码的方式。但是很多时候我们可能都没有过度地去关注优化代码这一块内容,哪怕有也只是注意到了一些比较大众化&…

K210入门-环境搭建与点灯测试(一)

目录 1、简介 2、资质查找 3、IDE下载安装 4、测试程序 4.1 测序复制 4.2 开发板选择 4.3 链接 4.4 效果展示 1、简介 本文主要针对小白使用K210进行入门,以及自己学习的总结与笔记使用。本文主要进行环境搭建与点灯测试。 2、资质查找 首先去官网进行资料下…

深度学习基本功3:NMS(Non-Maximum Suppression,非极大值抑制)算法原理及实现

文章目录 1. 为什么要使用NMS2. NMS算法原理2.1 IoU与置信度2.2 算法流程 3. Python代码实现 1. 为什么要使用NMS 大多数目标检测算法(稠密预测)在得到最终的预测结果时,特征图的每个位置都会输出多个检测结果,整个特征图上会出很…

14巧探细节:gRPC的UnknownService接口

gRPC UnknownServiceHandler是一个gRPC内置的一种拦截器,用于处理未知的服务请求。具体的使用案例可以是在服务端实现一个UnknownServiceHandler,当客户端请求一个不存在的服务时,服务端会返回一个自定义的错误信息,而不是默认的 gRPC 错误信息以提高服务的可读性。接下来让…

SPA首屏加载速度慢的怎么解决?

SPA首屏加载速度慢的怎么解决? 加载慢的原因 网络延时问题资源文件体积是否过大资源是否重复发送请求去加载了加载脚本的时候,渲染内容堵塞了 解决方案 1.减小入口文件体积 常用的手段是路由懒加载,把不同路由对应的组件分割成不同的代码…