我正在开发一个项目,我有一个Time类和多个构造函数.通常,在编码时我只有一个带有我的默认参数的构造函数,但是这个程序的指令让我很困惑.
该类应具有默认构造函数(无参数),该构造函数应初始化对象以使其表示数量0.
该类还应该有一个带有单个整数参数的构造函数,该参数表示秒数 - 应该将其转换为Time对象的相应表示法.请注意,具有单个参数的构造函数将是"转换构造函数",允许从"int"到"Time"的自动类型转换.如果参数为负,则默认Time对象表示0.
该类还应该有一个带有4个参数的构造函数,表示用于初始化对象的天,小时,分钟和秒.如果任何提供的值为负,则默认Time对象表示0.如果任何提供的值太高(但都是非负值),请将对象简化为适当的表示.
它似乎希望我有3个构造函数,一个无参数,一个带有一个参数的构造函数转换到秒转换成时间,以及一个带有4个参数初始化日,小时,分钟和秒.然而,在做了一些研究之后,我发现在课堂上不应该有超过2个构造函数.这对任何人都有意义吗?
然而,在做了一些研究之后,我发现在课堂上不应该有超过2个构造函数.
不知道你在哪里读,但这是错的.
甚至很多标准类型,比如std::string和std::vector,还有更多.
这对任何人都有意义吗?
作业确实如此.你的主张没有.
一个班级可以有多少个构造函数?
尽你所愿.好吧,无论如何,尽可能多的编译器允许你编写.由于物理原因,必须有一些实际限制,但标准建议此限制至少为4096.