作者:wz44_798 | 来源:互联网 | 2024-11-28 08:57
在C++编程中,有时需要创建一个工具类来封装一些常用的函数,比如生成唯一标识符(UUID)和获取当前时间。下面是一个名为UtilityHelper的类,它提供了这些功能。
首先,我们定义了UtilityHelper类的头文件UtilityHelper.h:
// UtilityHelper.h
#include
#include
#include
using namespace std;
class UtilityHelper {
public:
static char* uuidValue;
static char* dtValue;
UtilityHelper();
~UtilityHelper();
char* getUuid();
char* getTimeNow();
};
接下来是UtilityHelper类的具体实现,保存在UtilityHelper.cpp文件中:
// UtilityHelper.cpp
#include "UtilityHelper.h"
char* UtilityHelper::uuidValue = (char*)malloc(40);
char* UtilityHelper::dtValue = (char*)malloc(20);
char* UtilityHelper::getTimeNow() {
time_t rawTime = time(NULL);
struct tm* tmInfo = localtime(&rawTime);
strftime(dtValue, 20, "%Y%m%d%H%M%S", tmInfo);
return dtValue;
}
char* UtilityHelper::getUuid() {
uuid_t newUUID;
uuid_generate(newUUID);
uuid_unparse(newUUID, uuidValue);
return uuidValue;
}
UtilityHelper::UtilityHelper() {
cout <<"UtilityHelper构造函数调用,当前时间: " <}
UtilityHelper::~UtilityHelper() {
cout <<"UtilityHelper析构函数调用,当前时间: " <}
最后,在main.cpp中调用UtilityHelper类的方法来展示其功能:
// main.cpp
#include
#include
#include
#include "UtilityHelper.h"
void class9();
int main() {
class9();
return 0;
}
void class9() {
UtilityHelper uh;
for (int i = 0; i <100; i++) {
cout <<"索引=" < usleep(100000);
}
cout <<"class9()执行完毕,当前时间: " < free(UtilityHelper::dtValue);
free(UtilityHelper::uuidValue);
}
使用以下命令编译程序,注意添加UtilityHelper.cpp文件:
g++ -g -std=c++2a -I. main.cpp UtilityHelper.cpp -o main -luuid
运行编译后的程序:
./main
上述代码展示了如何在一个C++项目中通过类来调用其他类的方法,并且如何编译和运行这个程序。这为开发人员提供了一个处理通用任务的有效方式,如生成UUID和获取系统时间。