Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
aquarius-a
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 48
#1

Задание начальных значений объекта класса конструктором - C++

17.07.2011, 13:37. Просмотров 1238. Ответов 8
Метки нет (Все метки)

здравствуйте, форумчане.
подскажите, пожалуйта, можно ли реализовать следующее:
нужно создать конструктор, способный использовать текущее время, даваемое функцией ctime (интересует значение только часов, минут и секунд), чтобы задавать начальные значения объекту класса Time:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Time
{
public:
  Time();
private:
  int hour;
  int minute;
  int second;
}
Time::Time()     //ГЄГ®Г*ñòðóêòîð, êîòîðûé äîëæåГ* ГЁГ*èöèГ*ëèçèðîâГ*ГІГј
{                //Г*Г*Г·Г*ëüГ*ûå Г§Г*Г*Г·ГҐГ*ГЁГї Г¤Г*Г*Г*ûõ-÷ëåГ*îâ ГЄГ«Г*Г±Г±Г*
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2011, 13:37     Задание начальных значений объекта класса конструктором
Посмотрите здесь:

C++ Как создать объект с конструктором в интерфейсе другого класса?
C++ Член класса, создаваемый конструктором с параметром
C++ Ошибка компиляции (преобразование объекта класса в объект другого класса)
C++ Ошибка инициализации объекта, конструктором класса
C++ Пример класса с конструктором и деструктором, создание экземпляра класса через конструктор с параметрами
Не создается указатель из-за базового класса с конструктором C++
Создание массива класса, с установленным конструктором C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
1695 / 874 / 44
Регистрация: 04.06.2008
Сообщений: 5,338
17.07.2011, 13:47     Задание начальных значений объекта класса конструктором #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Time
{
public:
  Time();
private:
  int hour;
  int minute;
  int second;
};
Time::Time()     
{                
 hour= 12;
 minute= 13;
 second= 14;
 
}
aquarius-a
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 48
17.07.2011, 13:56  [ТС]     Задание начальных значений объекта класса конструктором #3
kravam, вы наверное меня не поняли
CAHTEXHUK
Заблокирован
17.07.2011, 14:01     Задание начальных значений объекта класса конструктором #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Time
{
public:
  Time();
private:
  int hour;
  int minute;
  int second;
};
 
Time::Time()
{
    time_t rawtime;
    struct tm * timeinfo;
 
    time ( &rawtime );
    timeinfo = localtime ( &rawtime );
 
    second = timeinfo->tm_sec;
    minute = timeinfo->tm_min;
    hour = timeinfo->tm_hour;
}
aquarius-a
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 48
17.07.2011, 15:11  [ТС]     Задание начальных значений объекта класса конструктором #5
а можно ли сделать это, используя только лишь функции ctime и time?
CAHTEXHUK
Заблокирован
17.07.2011, 15:15     Задание начальных значений объекта класса конструктором #6
можно написать свою версию localtime. ctime не в тему
nameless
Эксперт C++
295 / 294 / 14
Регистрация: 16.06.2009
Сообщений: 486
17.07.2011, 15:44     Задание начальных значений объекта класса конструктором #7
Цитата Сообщение от CAHTEXHUK Посмотреть сообщение
ctime не в тему
Чего это не в тему? результат функции ctime аналогична asctime(localtime(&rawtime)), так же получаем информацию о дате, времени в строчном представлении, если сильно уж так сильно нужно, то разобьем строку на лексемы и выберем часы:минуты:секунды.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>
 
int main ()
{
   time_t rawtime;
   const char* Date_Time[7];
   int time_hms[3];
 
   time(&rawtime);
   int i = 0;
   for (char* p = strtok(ctime(&rawtime), " :"); p; p = strtok(NULL, " :"))
      Date_Time[i++] = p;
 
   for (i = 0; i < 3; i++)
   {
      time_hms[i] = atoi(Date_Time[i + 3]);
      printf("%d ", time_hms[i]);
   }
 
   return 0;
}
хоть и не самый красивый способ, но имеет место быть..
CAHTEXHUK
Заблокирован
17.07.2011, 16:45     Задание начальных значений объекта класса конструктором #8
Цитата Сообщение от nameless Посмотреть сообщение
Чего это не в тему?
Тема: Задание начальных значений объекта класса конструктором

Добавлено через 21 секунду
так что ctime здесь определённо не в тему
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2011, 17:41     Задание начальных значений объекта класса конструктором
Еще ссылки по теме:

Создание объекта динамически с конструктором C++
C++ Как вызвать другой конструктор для уже созданного объекта конструктором по умолчанию?
C++ Проверка создания объекта класса BBB из класса AAA и работа с ним
C++ Создание класса с определенным конструктором
C++ Создание массива экземпляров класса с не стандарным конструктором

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
1695 / 874 / 44
Регистрация: 04.06.2008
Сообщений: 5,338
17.07.2011, 17:41     Задание начальных значений объекта класса конструктором #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
 
using namespace std;
 
 
class Time
{
public:
  Time();
private:
  int hour;
  int minute;
  int second;
 
 
};
Time::Time()     //конструктор, который должен инициализировать
{                //начальные значения данных-членов класса
 time_t lt;
 lt = time(NULL);
 string vrema (ctime(&lt)), t;
 replace(vrema.begin(), vrema.end(), ':', ' ');
 
 istringstream is (vrema);
 vector<string> vec;
 
 while (is>> t) vec.push_back (t);
 
 
  
 hour= atoi(vec[3].c_str());
 minute= atoi(vec[4].c_str());
 second= atoi(vec[5].c_str());
 printf ("%d  %d  %d\n", hour, minute, second);
 
}
 
 
int main(void)
{
  Time t;
 
  getchar ();
  return 0;
}
Yandex
Объявления
17.07.2011, 17:41     Задание начальных значений объекта класса конструктором
Ответ Создать тему
Опции темы

Текущее время: 11:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru