Добавлен Praytic
Цель программы: сложить 2 значения времени.
class time
{
private:
int hours, mins, secs;
public:
time() : hours(0), mins(0), secs(0) {}
time(int h, int m, int s) : hours(h), mins(m), secs(s) {}
void display()const {cout << "timesum: " << hours << ':' << mins << ':' << secs << endl;}
void timesum(time t1, time t2)
{
secs = t1.secs + t2.secs;
if(secs > 59) {secs -=60; mins++;}
mins +=t1.mins + t2.mins;
if(mins > 59) {secs -=60; hours++;}
hours +=t1.hours + t2.hours;
}
};
int main()
{
const time t1(5,59,59);
const time t2(2,43,22);
time tsum;
tsum.timesum(t1,t2);
tsum.display();
system("pause");
return 0;
}
Принятый ответ
void display()const { time(int h, int m, int s) : hours(h), mins(m), secs(s) {}
Это Лаффоре)
То же самое, что:
То же самое, что:
time(int h, int m, int s) { hours = h; mins = m; secs = s; }
С time() : hours(0), mins(0), secs(0) {} - то же самое, только нулями инициализирует, а не значениями h, m, s.
Если ты только начинаешь, то пиши как проще.
Если ты только начинаешь, то пиши как проще.
По проблеме: Замени везде "time" на "Time" и все скомпилируется.
Видишь ли, у Майкрасофта описана функция с именем "time" в stdlib.h(который наверняка содержится по стандарту). Из-за этого и была путаница, не думай, что это обычный случай, я и сам удивлён.
Видишь ли, у Майкрасофта описана функция с именем "time" в stdlib.h(который наверняка содержится по стандарту). Из-за этого и была путаница, не думай, что это обычный случай, я и сам удивлён.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. AsagiriGen
То же самое, что:
Если ты только начинаешь, то пиши как проще.
Видишь ли, у Майкрасофта описана функция с именем "time" в stdlib.h(который наверняка содержится по стандарту). Из-за этого и была путаница, не думай, что это обычный случай, я и сам удивлён.
Ред. AsagiriGen
Praytic: