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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Anastasiya1
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 77
#1

Конструктор и деструктор - C++

07.08.2013, 18:14. Просмотров 1380. Ответов 39
Метки нет (Все метки)

Всем привет.Вообщем передо мной стоит такая задача-Отобразить на экране время работы программы, используя конструктор и деструктор.В конструкторе используем ф-ию clock а в диструкторе вывести когда отработала программа
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2013, 18:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конструктор и деструктор (C++):

Конструктор инициализации, конструктор копирования, деструктор - C++
Я сделал почти задание по перегрузке операторов. Осталось одно, тоесть три: конструктор инициализации, конструктор копирования, деструктор....

Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор - C++
Всем доброго времени суток! нужна ваша помощь! нужно создать класс вектор и реализовать конструктор по умолчанию, копирования и...

Конструктор и деструктор - C++
Всем привет! В программе не работает конструктор с параметрами! Можете подсказать чего я не так делаю? Задание: есть класс изделия,...

Конструктор/деструктор - C++
Подскажите пожалуйста как внедрить в вот эту программу конструктор и деструктор... В программе есть базовый класс (летательные аппараты)...

конструктор и деструктор - C++
помоги пожалуйста написать программу в которой создаются и разрушаются объекты определенного пользовательского класса.Выполнить...

Конструктор и деструктор - C++
На сколько сильно они нужны и можно ли обойтись без них? Что будет если их не описывать? Что такое утечки памяти? Память забивается...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13155 / 7418 / 831
Регистрация: 27.09.2012
Сообщений: 18,256
Записей в блоге: 3
Завершенные тесты: 1
07.08.2013, 20:02 #16
Цитата Сообщение от Anastasiya1 Посмотреть сообщение
можно ли как нибудь попроще?
Чем мой страшный вариант не устроил?
Anastasiya1
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 77
07.08.2013, 20:05  [ТС] #17
Цитата Сообщение от Croessmah Посмотреть сообщение
Чем мой страшный вариант не устроил?
Я не поняла что вы использовали в главной ф-ииvector
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
07.08.2013, 20:08 #18
Вектор тут просто как контейнер, его на смом то деле можно было бы и убрать, пользователь, Croessmah, обрабатывает ввод чисел в бесконечном цикле, до тех пор пока не введете 0, а дальше сработает дестркутор вашего класса
Croessmah
Модератор
Эксперт CЭксперт С++
13155 / 7418 / 831
Регистрация: 27.09.2012
Сообщений: 18,256
Записей в блоге: 3
Завершенные тесты: 1
07.08.2013, 20:08 #19
Цитата Сообщение от Anastasiya1 Посмотреть сообщение
Я не поняла что вы использовали в главной ф-ииvector
Да что угодно там напишите, в данном случае просто примерчик небольшой "полезной" программки
Цитата Сообщение от Anastasiya1 Посмотреть сообщение
используя конструктор и деструктор.В конструкторе используем ф-ию clock а в диструкторе вывести когда отработала программа
Вот с функцией clock ( ) :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <ctime>
#include <cstdlib>
 
 
class B {
   time_t timeAppStart ;
public :
   B ( ) {
      timeAppStart = clock ( ) ;
   }
   ~B ( ) {
      std::cout << "Time : " << static_cast < double > ( clock ( ) - timeAppStart ) / CLOCKS_PER_SEC << " sec." << std::endl ;
   }
} ;
 
 
B g_Obj ;
 
 
int main ( ) {
   system ( "pause" ) ;
}
Anastasiya1
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 77
07.08.2013, 20:12  [ТС] #20
Спасибо но все это не то!
Croessmah
Модератор
Эксперт CЭксперт С++
13155 / 7418 / 831
Регистрация: 27.09.2012
Сообщений: 18,256
Записей в блоге: 3
Завершенные тесты: 1
07.08.2013, 20:14 #21
Цитата Сообщение от Anastasiya1 Посмотреть сообщение
Спасибо но все это не то!
Что не так?
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
07.08.2013, 20:16 #22
Как Вы определили, что это не то?
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
07.08.2013, 20:27 #23
Цитата Сообщение от Nixy Посмотреть сообщение
Как Вы определили, что это не то?
женское чутьё
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6447 / 3094 / 306
Регистрация: 04.12.2011
Сообщений: 8,567
Записей в блоге: 4
07.08.2013, 20:34 #24
Может так:
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
46
47
48
#include <iostream>
#include <time.h>
using namespace std;
class b
{
public:
clock_t timeAppStart;
clock_t timeAppStop;
clock_t timeOfAction;
void action(){//функция пишет изнутри монитора на экран всё кроме приветствия, ввода времени и прощания)
clock_t timeAppWork=timeAppStart;
cout<<"Begins "<<endl;
while (timeAppWork<timeAppStop){
timeAppWork=clock();
}
cout<<endl<<"the time elapsed is "<<(double)(timeAppWork - timeAppStart)/CLOCKS_PER_SEC<<endl;
 
}
 
b(clock_t timeOfAction_)
:timeOfAction(timeOfAction_)
{
timeAppStart = clock();
timeAppStop = timeAppStart + timeOfAction;
action();
}
~b()
{
timeAppStop=clock();
cout<<endl<<"Stoped"<<endl;
}
};
void lauchit_now(clock_t  timetowork){
b act(timetowork*CLOCKS_PER_SEC);
}
int main()
{
clock_t towork;
cout<<"Hi, input the time to work in seconds ";
cin>>towork;
cout<<endl;
 lauchit_now(towork);
cout<<endl<<endl;
cout<<"By, and press eny key to exit, please";
 cin.ignore();
 cin.get();
  return 0;
}
Anastasiya1
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 77
07.08.2013, 20:59  [ТС] #25
Да ладно забудьте, не понимаю я
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
07.08.2013, 21:14 #26
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
#include <iostream>
#include <time.h> // Подключаем библиотеку для работы с часами
 
class SomeClass // Создаем класс
{
public:
SomeClass() // конструктор класса SomeClass 
{ 
std::cout << "SomeClass constructor..\n"; // выводим сообщение о срабатывании конструктора
std::cout << "Program worked " << clock() << " ms.. \n"; // выводим из конструктора время, которое программа работает, в МС, функция clock() их библиотеки time.h как раз выводит это время
}
~SomeClass() // деструктор
{ 
std::cout << "SomeClass destructor..\n";  // выводим сообщение о срабатывании деструктора
std::cout << "Program close " << __TIME__ << "\n"; // выводим сообщение когда программа закончила работу (ну например 21:00:00)
}
}; // конец класса SomeClass 
 
 
int main()
{
{
SomeClass test; // создаем объект класса SomeClass с именем test
} // берем его (test) в фигурные скобки, что бы увидеть сообщения деструктора
 
system("pause");
return 0;
}
Добавлено через 9 минут
то, что я написал это то? отвечает заявленным требованиям?
iRomul
158 / 99 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
07.08.2013, 21:23 #27
VLK, елси верить автору, то это совершенно не то. Зачем выводить время работы при инициализации объекта раз, функция clock() возвращает количество тактов - два.
Хотя я понял. Подскажу - деструктор вызовется и без блока. Он уже в блоке - блоке функции main()
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
07.08.2013, 21:31 #28
Цитата Сообщение от iRomul Посмотреть сообщение
VLK, елси верить автору, то это совершенно не то. Зачем выводить время работы при инициализации объекта раз
Ответ:

Цитата Сообщение от Anastasiya1 Посмотреть сообщение
Отобразить на экране время работы программы, используя конструктор
Цитата Сообщение от iRomul Посмотреть сообщение
функция clock() возвращает количество тактов - два.
Что за такты?

Добавлено через 2 минуты
Цитата Сообщение от iRomul Посмотреть сообщение
Хотя я понял. Подскажу - деструктор вызовется и без блока. Он уже в блоке - блоке функции main()
Ну насчет фигурных скобок (блоков) я перемудрил наверное, если автору где то отчитываться по данной программе, то желательно убрать эти фигурные скобки (стр. 22 и 24 удалить), т.к. можно влететь в блудняк с ними (проще говоря не сможет их объяснить).
iRomul
158 / 99 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
07.08.2013, 21:34 #29
Цитата Сообщение от VLK Посмотреть сообщение
Что за такты?
1 такт это единица времени, равная 1 \ CPU_FREQ
CPU_FREQ - частота процесса.
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
07.08.2013, 21:38 #30
iRomul, так допустим если на выполнение программы у меня уйдет одинаковое количество времени, при этом в первом случае CPU_FREQ равно то что есть сейчас, а во втором CPU_FREQ возрастет в 2 раза, тогда и значение полученное при помощи clock() будет отличаться примерно в 2 раза?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.08.2013, 21:38
Привет! Вот еще темы с ответами:

Конструктор и деструктор - C++
Помогите к этой программе написать Конструктор и деструктор класса #include &lt;iostream&gt; using namespace std; class card { ...

Конструктор, деструктор - C++
Дорогие друзья, программисты. Помогите пожалуйста разобраться с конструктором и деструктором, а так же перегрузкой. Фотография прилагается...

С++. Конструктор, деструктор - C++
Ребята!!! Помогите пожалуйста, не знаю как сделать это задание на С++. Нужно разработать класс Point для работы с пользовательским...

конструктор и деструктор в C++ - C++
Помогите добавить в прогу конструктор и деструктор #include &lt;iostream&gt; using namespace std; class preamougolinik { private: ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.08.2013, 21:38
Ответ Создать тему
Опции темы

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