Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
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 - Fatal编程技术网

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);
    ...