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

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.lryc.cn/news/276639.html

相关文章:

  • Apache Camel笔记
  • CSDN定制的奖品谁不想要?
  • 橄榄油行业分析:预计2029年将达到298亿美元
  • Maven 工程 java -jar 时提示 xxx-SNAPSHOT.jar 中没有主清单属性
  • 2. Mybatis 中SQL 执行原理
  • 平衡合规与发展天平, 激发数据要素价值
  • JAVA毕业设计118—基于Java+Springboot的宠物寄养管理系统(源代码+数据库)
  • oracle 19c容器数据库数据加载和传输-----SQL*Loader(一)
  • 超维空间M1无人机使用说明书——52、ROS无人机二维码识别与降落
  • Mac 安装Nginx教程
  • 【促销定价】背后的算法技术 1 - 业务问题拆解
  • CNAS中兴新支点——什么是安全测试,安全测试报告有什么作用,主要测试哪些内容?
  • 【shell发送邮件】
  • Qt实现简单的分割窗口
  • 简单易懂的PyTorch激活函数大全详解
  • x-cmd pkg | pdfcpu - 强大的 PDF 处理工具
  • linux 压力测试 AB ApacheBench
  • 【云计算】云存储是什么意思?与本地存储有什么区别?
  • 月入7K,19岁少年转行网优,他凭什么打破低学历魔咒?
  • 【C/C++】轻量级跨平台 开源串口库 CSerialPort
  • 大创项目推荐 深度学习图像修复算法 - opencv python 机器视觉
  • 嵌入式系统复习--基于ARM的嵌入式程序设计
  • 【C++入门到精通】异常 | 异常的使用 | 自定义异常体系 [ C++入门 ]
  • NX二次开发 Block UI 指定方位控件的应用
  • 2024年【R2移动式压力容器充装】模拟考试及R2移动式压力容器充装实操考试视频
  • 数仓工具—Hive进阶之StorageHandler(23)
  • 科技创新创业
  • 高校电力能耗监测精细化管理系统,提升能源利用效率的利器
  • Java_Swing程序设计
  • ZeroBind:DTI零样本预测器