#pragma once
#include <windows.h>
#include <iostream>
class CTimer
{
public:
CTimer(void);
~CTimer(void);
private:
LARGE_INTEGER m_Frequency;
LARGE_INTEGER m_StartCount;
public:
void Start();
double End();
void ShowNow();
};
//.ccp
#include "StdAfx.h"
#include "Timer.h"
CTimer::CTimer(void)
{
QueryPerformanceFrequency(&m_Frequency);
Start();
}
CTimer::~CTimer(void)
{
}
void CTimer::Start()
{
QueryPerformanceCounter(&m_StartCount);
}
double CTimer::End()
{
LARGE_INTEGER CurrentCount;
QueryPerformanceCounter(&CurrentCount);
return double(CurrentCount.LowPart - m_StartCount.LowPart) / (double)m_Frequency.LowPart;
}
void CTimer::ShowNow()
{
LARGE_INTEGER CurrentCount;
QueryPerformanceCounter(&CurrentCount);
cout << "Timer Count is: " << double(CurrentCount.LowPart - m_StartCount.LowPart) / (double)m_Frequency.LowPart <<endl;
}