【问题标题】:When to and when not to define a default constructor?何时以及何时不定义默认构造函数?
【发布时间】:2020-03-16 09:39:04
【问题描述】:

为myClass定义默认构造函数的规则是什么?

示例:用户定义的 Book 类型(可以有标题、作者、ISBN 和流派作为其数据成员)可能没有默认构造函数,因为没有“默认书”。

是否有一些指南可以处理这个主题?

【问题讨论】:

  • 正常的感觉。如果您需要额外的处理,则定义一个显式的默认 ctor,如果您想阻止使用它,则将其标记为已删除。当心具有明确删除或私有 ctor 的类将更难在容器中使用...

标签: c++ constructor default-constructor


【解决方案1】:

如果可以的话,请输入regular。这意味着你应该支持:

  • 默认构造
  • 复制构造
  • 作业
  • 平等比较

这只需要定义 == 并确保默认构造仍然可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2015-10-30
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    相关资源
    最近更新 更多