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

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

Войти
Регистрация
Восстановить пароль
 
Homamilae
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 48
#1

Использование класса - C++

28.08.2011, 19:44. Просмотров 397. Ответов 4
Метки нет (Все метки)

Доброго времени суток!
Подскажите пожалуйста... Я как-то неправильно использую класс:

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
#include <windows.h>
 
 
class Timer
{
private:
      
    LARGE_INTEGER frequency;            //Частота таймера (кол-во тиков в сек)
    LARGE_INTEGER time1;                //Начальное и конечное кол-во тиков при засекании
    LARGE_INTEGER time2;
    float workTime;                     //Полное кол-во тиков
 
 
public:
    Timer() : workTime(0){
        QueryPerformanceFrequency(&frequency);
        QueryPerformanceCounter(&time1);
        QueryPerformanceCounter(&time2);
    }
    
    void start() {                             //Засечь начало
        QueryPerformanceCounter(&time1); 
    }
 
    void stop(){                                //Засечь конец
    
        QueryPerformanceCounter(&time2);
        workTime += float(time2.QuadPart - time1.QuadPart);
    }
 
    void reset() {                              //Сброс
        workTime = 0; 
    } 
 
    float GetWorkTime()  {
    
        return workTime / float(frequency.QuadPart);
    }
};
Здесь я пытаюсь использовать методы класса:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void main()
{
    Timer::Timer();
    Timer::start();
 
             // тут код программы
 
    Timer::stop();
 
    m=Timer::GetWorkTime();
    cout<<"Time"<<m<<endl;
 
 
}
Получаю следующую ошибку... почему - не могу разобраться....

Error 1 error C2352: 'Timer::start' : illegal call of non-static member function c:\users\наталья\documents\ogl\extimer\main.cpp 22 exTimer
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2011, 19:44     Использование класса
Посмотрите здесь:

Использование класса String C++
C++ Использование собственного класса строк
C++ Использование шаблона класса
C++ Использование операторов шаблона класса
C++ использование this в методе класса
Использование класса ORDER C++
C++ Использование абстрактного класса
Использование переменных main из класса C++
C++ Использование конструктора абстрактного класса
Использование класса list STL C++
C++ Ошибка использование неопределенного класса
C++ Использование вложенного класса

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,905
28.08.2011, 20:00     Использование класса #2
Объект класса создай для начала.
Сыроежка
Заблокирован
28.08.2011, 20:00     Использование класса #3
Эти функции, которые вы используете в main, не являются статическими. Поэтому для их вызова требуется наличие объекта. Либо в классе определите эти функции как static.
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,905
28.08.2011, 20:01     Использование класса #4
Цитата Сообщение от Homamilae Посмотреть сообщение
C++
1
void main()
C++
1
int main()
Homamilae
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 48
28.08.2011, 22:41  [ТС]     Использование класса #5
Спасибо большое действительно, нужно было создать объект класса
Yandex
Объявления
28.08.2011, 22:41     Использование класса
Ответ Создать тему
Опции темы

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