一个班级可以有多少个构造函数?

0 c++ constructor

我正在开发一个项目,我有一个Time类和多个构造函数.通常,在编码时我只有一个带有我的默认参数的构造函数,但是这个程序的指令让我很困惑.

  • 该类应具有默认构造函数(无参数),该构造函数应初始化对象以使其表示数量0.

  • 该类还应该有一个带有单个整数参数的构造函数,该参数表示秒数 - 应该将其转换为Time对象的相应表示法.请注意,具有单个参数的构造函数将是"转换构造函数",允许从"int"到"Time"的自动类型转换.如果参数为负,则默认Time对象表示0.

  • 该类还应该有一个带有4个参数的构造函数,表示用于初始化对象的天,小时,分钟和秒.如果任何提供的值为负,则默认Time对象表示0.如果任何提供的值太高(但都是非负值),请将对象简化为适当的表示.

它似乎希望我有3个构造函数,一个无参数,一个带有一个参数的构造函数转换到秒转换成时间,以及一个带有4个参数初始化日,小时,分钟和秒.然而,在做了一些研究之后,我发现在课堂上不应该有超过2个构造函数.这对任何人都有意义吗?

Lig*_*ica 5

然而,在做了一些研究之后,我发现在课堂上不应该有超过2个构造函数.

不知道你在哪里读,但这是错的.

甚至很多标准类型,比如std::stringstd::vector,还有更多.

这对任何人都有意义吗?

作业确实如此.你的主张没有.

一个班级可以有多少个构造函数?

尽你所愿.好吧,无论如何,尽可能多的编译器允许你编写.由于物理原因,必须有一些实际限制,但标准建议此限制至少为4096.

  • @Carcigenicate使用投票是多么愚蠢的方式. (4认同)