类和结构的使用[重复]

2024-01-12

可能的重复:
在 C++ 中什么时候应该使用类还是结构? https://stackoverflow.com/questions/54585/when-should-you-use-a-class-vs-a-struct-in-c
C++中的结构体和类有什么区别 https://stackoverflow.com/questions/92859/what-are-the-differences-between-struct-and-class-in-c

struct X{

};

class X{

};

在 C++ 中,可以通过以下方式完成相同的任务classstruct。我的问题是我应该在哪里使用class以及哪里struct?


C++ 中结构体和类之间的区别是:

  • 默认情况下,类的成员是私有的,而结构的成员默认是公共的。
  • 同样,类之间的继承默认也是私有的,结构之间的继承默认是公有的。

但基本上在任何使用结构的地方都可以使用类,反之亦然,所以使用什么完全取决于你。按照惯例,当你有方法时,更常见的是使用类,而当你只有数据时,更常用的是结构。

我想说,如果您希望所有数据成员都是公共的,并且您没有方法,那么请使用结构体。否则使用一个类。但这只是个人喜好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类和结构的使用[重复] 的相关文章

随机推荐

  • getSystemService(Context.NSD_SERVICE) 冻结 5.0 模拟器

    尝试执行以下行 NsdManager Mgr NsdManager Ctxt getSystemService Context NSD SERVICE 在 Android 5 0 模拟器 ARMv7a 在 Win64 上 中 模拟器会冻结
  • const_cast 的行为

    我正在阅读有关 C 中的 const cast 运算符的内容 1 我无法理解的第一件奇怪的事情是 const cast 运算符语法 即 const cast 表达式 gt 我对这种语法的理解是 它有助于摆脱常量性expressionof t
  • 这个shell测试达到什么目的

    我有一个非常简单的问题 我无法回答 在 shell 中 这个命令会做什么 test d VIRTUAL ENV virtualenv VIRTUAL ENV 它似乎测试 virtualenv 目录是否存在 但我不明白 if 会如何处理该信息
  • 快速或简洁地确定基于行的数据集合中每列的最长字符串

    从我上次查询的结果 https stackoverflow com questions 2760168 can i set auto width on an open xml sdk generated spreadsheet withou
  • 为什么实现 IObjectSafety 没有带来什么改变?

    我们有一个 activex 对象 它实现了 IObjectSafety 以表明它对于脚本编写是安全的 它从受信任的站点安装 但我们仍然收到 IE 投诉 称该页面上的控件对于脚本编写不安全 运行我们的 activex 的站点管理员不愿意启用未
  • HQL 查询 id 对/元组

    我正在尝试使用 HQL 查询两个域之间新创建的关系 所以我想做类似的事情 select x id y id from Author as x join x books as y where x id y id not in 1 2 3 4
  • 通过连接查询大型数据集(15+ 百万行)

    我正在尝试连接两个表 products and products markets While products记录不足一百万条 product markets接近2000万条记录 数据已更改 因此架构创建表中可能存在一两个拼写错误 CREA
  • Javascript 日期时间字符串到 Date 对象

    我正在调试一个小型应用程序 其某些功能只能在 Chrome 中运行 问题在于日期选择器 您在其中选择日期和时间 然后日期选择器将其连接到日期时间字符串中 无论如何 字符串看起来像这样 2012 10 20 00 00 然而 现在使用它的 j
  • 为 property = "type.id" 选择什么 @JsonTypeInfo.ID 进行反序列化,JsonTypeInfo.Id.CUSTOM?

    所以我的 JSON 看起来像这样 ActivityDisplayModel name lunch with friends startTime 12 00 00 type id MEAL description Meal complete
  • 将标志传递给 Matlab 函数的最简洁方法是什么?

    我正在设计一个函数 它以一个结构和任意数量的标志作为参数 该函数将包含几个if检查是否设置了特定标志 实现这一目标的最巧妙方法是什么 我正在考虑将标志作为单独的字符串参数传递 有更简洁的解决方案吗 我会像使用那样做varargin and
  • Spring Batch ChunkRequest 抛出 stackOverflow

    我正在挣扎Spring Batch 远程分块使用较新版本的 Spring boot 首先 我尝试将 ChunkRequest 作为事件发送 这是不可能的 因为它没有公共默认构造函数 作为解决方案 我必须创建自定义序列化器和反序列化器 并在
  • Silverlight 4 中的 System.Data.DataTable?

    有谁知道如果系统 数据 数据表Silverlight 4 beta 现在支持吗 过去 我在 ASP NET 和 WinForm 项目中使用它进行数据绑定 其中 UI 和对象需要在运行时构建 如果没有 是否在路线图中 不 这不在 SL4 中
  • 在 React TypeScript 中推断 2 个 props 之间的泛型类型

    我相信这是可能的 但我不太擅长 TS 中的高级输入 还 所以 我想让 React 组件在一个 prop 中接受任何对象形状的数组 然后在不同的 事件函数 prop 中发出相同类型 interface Props data AnyGeneri
  • CGAffineTransform之后转换父/子UIView之间的坐标

    在我开始手工做所有事情之前 我想问一下框架是否可以提供一些帮助 我有一个 UIView 其中包含另一个带有地图的 UIView 父 UIView 包含地图的一些图例 最初我在地图视图中定义一些坐标 例如 100 40 并在父视图中放置一块图
  • Javascript-获取悬停元素的背景颜色

    我目前正在制作一个 google chrome 扩展 并使用此 javascript 动态更改悬停元素的背景颜色 var bindEvent function elem evt cb see if the addEventListener
  • 摄取附件需要更多权限

    我有一个应用程序 当我进行 apt 升级时 它使用elasticsearch Configuring Elasticsearch gt removing ingest attachment gt Downloading ingest att
  • Flutter:如何流式传输由不带 mp3 扩展名的 http url 提供的实时音频

    如何使用 flutter 流式传输由不带 mp3 扩展名的 http url 提供的实时音频 它不是远程文件 但是像网络广播这样的流媒体网址 您可以使用包https pub dev packages url audio stream htt
  • Wi-Fi Direct UWP 超时(HRESULT 异常:0x800705B4)

    我正在使用 UWP API 启动 Wi Fi Direct 接入点服务 开始正常 我在用着WiFiDirectConnectionListener使用以下命令监视连接到接入点的设备ConnectionRequested事件 var conn
  • 如何为 aws gateway API 创建预签名 URL

    我已经看到 S3 对象的预签名 URL 是否可以为 API 网关创建预签名 URL 我已经经历过文档 https docs aws amazon com general latest gr signing aws api requests
  • 类和结构的使用[重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中什么时候应该使用类还是结构 https stackoverflow com questions 54585 when should you use a class vs a struct i