C++ 如何使用C+中具有构造函数的类创建对象数组+; 上课时间{ 私人: 整小时=0; int分钟=0; 公众: 时间(整数小时,整数分钟); 无效设置小时(整小时); 无效设置分钟(整数分钟); int getHour(); int getMinute(); 作废打印(); 作废预付款(); }; Time::Time(inth,intm)//完成 { 小时=小时; 分钟=m; 如果(小时>23) { 小时=0; } 如果(分钟>59) { 分钟=0; } } 无效时间::设置小时(int h)//完成 { 如果(h>23) { 小时=0; } 其他的 { 小时=小时; } } 无效时间::setMinute(int m)//完成 { 如果(m>59) { 分钟=0; } 其他的 { 分钟=m; } } int Time::getHour()//完成 { 返程时间; } int Time::getMinute()//完成 { 返回分钟; } 作废时间::打印()//完成 { 串周期; 细绳; 如果(小时>12) { 小时=小时-12; period=“PM”; } 否则,如果(小时
C++ 如何使用C+中具有构造函数的类创建对象数组+; 上课时间{ 私人: 整小时=0; int分钟=0; 公众: 时间(整数小时,整数分钟); 无效设置小时(整小时); 无效设置分钟(整数分钟); int getHour(); int getMinute(); 作废打印(); 作废预付款(); }; Time::Time(inth,intm)//完成 { 小时=小时; 分钟=m; 如果(小时>23) { 小时=0; } 如果(分钟>59) { 分钟=0; } } 无效时间::设置小时(int h)//完成 { 如果(h>23) { 小时=0; } 其他的 { 小时=小时; } } 无效时间::setMinute(int m)//完成 { 如果(m>59) { 分钟=0; } 其他的 { 分钟=m; } } int Time::getHour()//完成 { 返程时间; } int Time::getMinute()//完成 { 返回分钟; } 作废时间::打印()//完成 { 串周期; 细绳; 如果(小时>12) { 小时=小时-12; period=“PM”; } 否则,如果(小时,c++,arrays,class,constructor,C++,Arrays,Class,Constructor,class Time { private: int hour = 0; int minute = 0; public: Time(int hour, int minute); void setHour(int hour); void setMinute(int minute); int getHour(); int getMinute(); void print(); void advance(); }; Time::Tim
class Time {
private:
int hour = 0;
int minute = 0;
public:
Time(int hour, int minute);
void setHour(int hour);
void setMinute(int minute);
int getHour();
int getMinute();
void print();
void advance();
};
Time::Time(int h, int m) // DONE
{
hour = h;
minute = m;
if (hour > 23)
{
hour = 0;
}
if (minute > 59)
{
minute = 0;
}
}
void Time::setHour(int h) // DONE
{
if (h > 23)
{
hour = 0;
}
else
{
hour = h;
}
}
void Time::setMinute(int m) // DONE
{
if (m > 59)
{
minute = 0;
}
else
{
minute = m;
}
}
int Time::getHour() // DONE
{
return hour;
}
int Time::getMinute() // DONE
{
return minute;
}
void Time::print() // DONE
{
string period;
string minutezero;
if (hour > 12)
{
hour = hour - 12;
period = "PM";
}
else if (hour < 13)
{
period = "AM";
}
if (hour == 0)
{
hour = 12;
period = "AM";
}
if (minute < 10)
{
cout << hour << ":" << "0" << minute << " " << period;
}
else if (minute > 9)
{
cout << hour << ":" << minute << " " << period;
}
}
void Time::advance() // DONE
{
minute = minute + 1;
if (minute == 60)
{
minute = 0;
hour = hour + 1;
}
if (hour == 24)
{
hour = 0;
}
}
正如paddy在一篇评论中指出的,您需要一个默认构造函数,其外观如下所示:
class Time {
private:
int hour = 0;
int minute = 0;
public:
Time(int hour = 0, int minute = 0);
// skipped
您还需要一个仅以小时为参数的构造函数
Time::Time() : hour(0), minute(0) { }
在那之后,你的课看起来像这样
Time::Time(int h) : hour(h), minute(0) {
if (hour > 23) hour = 0;
}
您的
Time
类需要一个默认构造函数。当前它只有一个接受两个参数的构造函数。我建议您创建另一个不接受参数的构造函数,并将其成员初始化为零。实际上,在阅读后续要求时,您似乎也需要支持仅使用小时的构造函数。在这种情况下,您可以为现有构造函数声明默认参数值。wait..原始需求是否建议该天有25个小时?lol(24小时日:24==0)
Time::Time() : hour(0), minute(0) { }
Time::Time(int h) : hour(h), minute(0) {
if (hour > 23) hour = 0;
}
public:
Time();
Time(int h);
Time(int hour, int minute);
void setHour(int hour);
...