- 头文件
#include "stdafx.h"
//定时器设计
enum WORK_STATE{
WORK_UNEXIST, //不存在
WORK_RUNNING, //正在运行
WORK_STOP, //已停止
};
template<typename Type>
class TimeClock{
public:
TimeClock(Type* func_t);
~TimeClock();
bool SetTimerWork(std::wstring work_name,int interval_time); //设置定时任务
WORK_STATE GetWorkState(std::wstring work_name); //获取Work状态
bool StartTask(std::wstring work_name); //启动定时任务
bool StopTask(std::wstring work_name); //停止任务
bool StartAllTask();//启动所有任务
bool StopAllTask(); //停止所有任务
private:
std::vector<std::wstring> m_vec_workname; //工作名的集合
};
class Demo{
public:
Demo();
~Demo();
void ceshi();
};
实现文件
// TimeClock.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "TimeClock.h"
using namespace std;
template<typename Type>
TimeClock<Type>::TimeClock(Type* func_t)
{
cout << "测试" << endl;
func_t->ceshi();
}
template<typename Type>
TimeClock<Type>::~TimeClock()
{
}
template<typename Type>
bool TimeClock<Type>::StartTask(std::wstring work_name)
{
return false;
}
template<typename Type>
bool TimeClock<Type>::StopTask(std::wstring work_name)
{
return false;
}
template<typename Type>
bool TimeClock<Type>::SetTimerWork(std::wstring work_name,int interval_time)
{
return true;
}
template<typename Type>
WORK_STATE TimeClock<Type>::GetWorkState(std::wstring work_name)
{
return WORK_RUNNING;
}
template<typename Type>
bool TimeClock<Type>::StartAllTask()
{
return true;
}
template<typename Type>
bool TimeClock<Type>::StopAllTask()
{
}
Demo::Demo()
{
cout << "Demo" << endl;
}
Demo::~Demo()
{
}
void Demo::ceshi()
{
cout << "dddd" << endl;
}
void demo()
{
cout << "测试" << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
Demo mm;
TimeClock<Demo> kk(&mm);
system("pause");
return 0;
}
运行结果:
- tip:等有时间 实现一个定时器–唉