#include
using namespace std;
class Time1
{
public:
Time1(int th1=0, int tm1=0)//构造函数初始化
{
th1 += tm1 / 60;//如果分钟超过60,则小时+1
tm1 %= 60;
hour1 = th1;
mins1 = tm1;
}
int gethour()
{
return hour1;
}
int getmins()
{
return mins1;
}
protected:
int hour1, mins1;
};
class Time2:public Time1//
{
public:
Time2(int th1,int tm1,int th2,int tm2):Time1(th1,tm1)//构造函数初始化
{
th2 += tm2 / 60;//如果分钟超过60,则小时+1
tm2 %= 60;
hour2= th2;
mins2 = tm2;
}
void sub()
{
int subh, subm;
if (mins1 > mins2)//mins1为上课时间
{
subm = mins2 - mins1 + 60;
hour2--;
}
else
subm = mins2 - mins1;
subh = hour2 - hour1;
cout << "时间为" << subh << "小时" << subm << "分钟" << endl;
}
private:
int hour2, mins2;
};
int main()
{
//前两个为上课时间
Time2 time2(18, 40, 21, 50);
return 0;
}
回答:
运行的挺好的呀:
#include <iostream>
using namespace std;
class Time1
{
public:
Time1(int th1 = 0, int tm1 = 0) //构造函数初始化
{
th1 += tm1 / 60; //如果分钟超过60,则小时+1
tm1 %= 60;
hour1 = th1;
mins1 = tm1;
}
int gethour()
{
return hour1;
}
int getmins()
{
return mins1;
}
protected:
int hour1, mins1;
};
class Time2 :public Time1
{
public:
Time2(int th1, int tm1, int th2, int tm2) :Time1(th1, tm1) //构造函数初始化
{
th2 += tm2 / 60; //如果分钟超过60,则小时+1
tm2 %= 60;
hour2 = th2;
mins2 = tm2;
}
void sub()
{
int subh, subm;
if (mins1 > mins2) //mins1为上课时间
{
subm = mins2 - mins1 + 60;
hour2--;
}
else
subm = mins2 - mins1;
subh = hour2 - hour1;
cout << "时间为" << subh << "小时" << subm << "分钟" << endl;
}
private:
int hour2, mins2;
};
int main()
{
//前两个为上课时间
Time2 time2(18, 40, 21, 50);
time2.sub();
return 0;
}
下次推荐使用代码给出,格式方便调整,另外注意注释的格式,可以统一写在代码的上一行,采用多行注释写