C++|19.C++类与结构体对比

类和结构体

类和结构体本质上并没有太大区别。
但两者在默认上有所区别。
类默认成员变量是私有的,而结构体默认成员变量是公有的。

在这里插入图片描述
也就是说,对于一个类来说,会默认使用private去保护其内部成员变量使得无法直接访问到其内部的变量。在这里插入图片描述
同时从诞生来看,C是没有类的概念的,但有结构体的概念。
这与C语言和C++面向对象应该也有关系:C语言是面向过程的,而C++是面向对象的。
也就是说C++是有面向对象的需求,需要建设一个类的概念去符合C++面向对象的想法。
而C语言已经有了结构体,两者是相似的,可能可以考虑将结构体进行删除。
但一般设计上,会考虑到向后兼容(比如说我原本用C写了一堆代码,但C++不兼容C,也就是说这堆代码直接没用了)。所以在C++中,结构体也被保留下来了。但结构体应该没有满足C++对面向对象特性的需求。
(可以用#define struct class来将旧代码中的struct替换成class)

参考

【19】【Cherno C++】【中字】C++类与结构体对比

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/618795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 返回到首页案例

很多年前做Android开发,经常遇到页面跳转需要返回到指定页面的需求。现再次总结下: 一、ActivityA返回到ActivityB ActivityA返回到ActivityB,回收掉中间页面 Intent intent new Intent(ActivityA.this,ActivityB.class);intent.setFlags(I…

代码随想录算法训练营第27天 | 39. 组合总和 40.组合总和II 131.分割回文串

目录 39. 组合总和 💡解题思路 💻实现代码 40.组合总和II 💡解题思路 💻实现代码 131.分割回文串 💡解题思路 # 判断回文子串 💻实现代码 39. 组合总和 题目链接:39. 组合总和 给定…

C++ 开发 + VSCode 调试

C 开发 VSCode 调试 MSYS2 安装 gcc、make下载安装MSMYS2pacman 添加镜像源 GCC1. 安装2. 查看结果3. 环境变量 GDB VSCode 调试所需插件创建项目调试代码1. tasks.json 配置任务2. launch.json 配置调试3. 运行 更进一步的 C/C 设置 参考资料 MSYS2 安装 gcc、make 下载 官…

UCB Data100:数据科学的原理和技巧:第二十一章到第二十六章

二十一、SQL II 原文:SQL II 译者:飞龙 协议:CC BY-NC-SA 4.0 学习成果 介绍过滤组的能力 在 SQL 中执行数据清理和文本操作 跨表连接数据 在本讲座中,我们将继续上次的工作,介绍一些高级的 SQL 语法。 首先&…

解锁营销新高度:幽灵鲨CRM推广平台线索对接功能详解

数字营销时代,线索对接是推动业务增长的关键。你是否为线索分布在不同的平台而来回切换?你是否为无法及时联系客户而错失商机?幽灵鲨CRM系统作为一款领先的客户关系管理解决方案,不仅实现了对主流推广平台的全面对接,更…

JavaScript系列——Generator

文章目录 概要使用示例手动迭代for循环自动迭代 Promise 与 Generator对比使用async await 处理promise使用generator 处理promise手动使用 generator 实现 asyncawait 效果generator 生成函数如下手动实现核心代码执行 小结 概要 Generator,是ES6新增的特性,gener…

C++内存分配策略

目录 基础概念 内存布局 分配方式 实现 1.new和delete 2.利用空间配置器alloc 3.用malloc和free 4.静态内存分配 基础概念 在讲内存分配之前,先对一些基础概念进行阐述,以便能更好的讨论问题 内存布局 代码编译为可执行程序后运行占用的内存可…

Java研学-过滤查询

一 概述 1 原理 根据用户传入的条件进行数据的筛选查询,最后将结果放回给用户,例如对员工的姓名与工资范围进行筛选查询 // 查询所有员工 SELECT * FROM employee // 模糊查询员工名称 SELECT * FROM employee WHERE name LIKE %黄% // 查询工资为8000…

欢迎关注我的公众号

后续我会在公众号更新相关的C/rust等相关语言知识,此外计算机基础相关的知识。 欢迎大家关注:松元漫话

了解统计分类中的贝叶斯理论误差限

一、介绍 统计分类和机器学习领域正在不断发展,努力提高预测模型的准确性和效率。这些进步的核心在于一个基本基准,即贝叶斯理论误差极限。这个概念深深植根于概率和统计学,是理解分类算法的局限性和潜力的基石。本文深入探讨了贝叶斯错误率的…

【LabVIEW FPGA入门】使用LabVIEW FPGA进行编程并进行编译

在本文中会进行一个简单的FPGA编程演示,这通常可以验证编译工具链是否正常使用。在LabVIEW FPGA中和rt、PC编程一样使用数据流编程,但是需要注意的是FPGA中有些函数是不可以用的,因为这些函数很占用资源,且FPGA只能同时下载运行一…

AI软件开发:探索原理、挑战与未来趋势

AI软件开发已经成为当前最热门和具有前景的技术领域之一。随着人工智能技术的快速发展,AI软件的应用范围也在不断扩大。本文将主要探讨AI软件开发的原理、挑战以及未来的趋势。 首先,AI软件开发的原理是基于机器学习和深度学习算法。机器学习是一种通过…

C#中Random.Next 方法

目录 一、重载 二、Next() 1.定义 2.示例 三、Next(Int32) 1.定义 2.示例1 3.示例2 四、Next(Int32, Int32) 1.定义 2.示例1 3.示例2 一、重载 返回一个随机整数。 Next()返回一个非负随机整数。Next(Int32)返回一个小于所指定最大值的非负随机整数。Next(Int32,…

Jetbrains ai assistant激活成功了

使用ai assistant插件助手 很完美,第一次用在idea 开发工具就完美的把激活了,你也不妨试试 链接地址:https://web.52shizhan.cn 激活后如下 登录页面 完美使用

Linux 文件和文本内容

本篇主要分两类,一类是vim 这种交互式的文本编辑软件,另外就是各种花式的文本处理命令,有 awk、sed 这种强大的命令,也有简单的重定向和echo打印,指在提升文本处理效率,建议试试,来增强记忆 一、…

python设计模式有哪几种

Python 中常见的设计模式有以下几种 一 单例模式(Singleton Pattern):确保一个类只有一个实例,并提供全局访问点。 二 工厂模式(Factory Pattern):使用工厂方法来创建对象,而不是直…

c++算法之枚举

目录 解空间的类型 循环枚举解空间 例题 特别数的和 输入格式 输出格式 输入样例: 输出样例: 解 例题 反倍数 问题描述 输入格式 输出格式 样例输入 样例输出 解 例题 找到最多的数 解 枚举算法是一种基本的算法思想,它通过…

《设计模式的艺术》笔记 - 单例模式

介绍 单例模式优点是可以确保系统中只存在单个对象实例,缺点是不便扩展,一定程度上违背单一原则,既提供业务方法,又提供创建对象方法 饿汉式单例 在类加载的时候就创建好对象,获取对象时直接返回即可 class EagerSin…

喜报 | 联诚发斩获卓越品牌奖,总裁龙平芳荣获优秀企业家奖

1月10日,深圳市半导体产业发展促进会五届三次会员大会暨五届四次理/监事会在深圳宝安登喜路国际大酒店隆重举行,全体会员、党员、兄弟商协会等共600多位代表出席会议。联诚发LCF作为协会会长单位也受邀出席盛会。 本次大会颁布了卓越品牌奖、优秀企业奖、…

79LXX 三端负电源电压调节器,具有一系列固定电压输出,适用于小于100mA电源供给的场合

79LXX系列三端负电源电压调节器是单片双极型线性集成电路,采用TO92、SOT89-3的封装形式封装,有一系列固定的电压输出,适用于小于100mA电源供给的场合。 主要特点: 最大输出电流为100mA 固定输出电压分别为-5V、-6V、-8V、-9V、-1…