cpp template class defined in .h files and implemented in cpp files
//MathHelper.h #ifndef _MathHelper_H #define _MathHelper_H #include <iostream> #include <random> #include <stdio.h> using namespace std; template <class T> class MathHelper { public: random_device rd; mt19937 mt{rd()}; T getRandom(T min, T max); void getRandomArray(T *arr, T min, T max, int len); void printArray(T *arr, int len); void randomDemo(T min, T max, int len); }; #endif //MathHelper.cpp #include "Model/MathHelper.h" template <class T> T MathHelper<T>::getRandom(T min, T max) { uniform_int_distribution<T> uid(min,max); return uid(mt); } template <class T> void MathHelper<T>::getRandomArray(T *arr, T min, T max, int len) { for (int i = 0; i < len; i++) { T temp=getRandom(min,max); arr[i] = temp; } } template <class T> void MathHelper<T>::printArray(T *arr, int len) { for (int i = 0; i < len; i++) { cout << "Index=" << i << ",value=" << arr[i] << endl; } } template <class T> void MathHelper<T>::randomDemo(T min, T max, int len) { T *arr = new T[len]; getRandomArray(arr, min, max, len); printArray(arr, len); delete[] arr; cout << endl << "Finished in " << __FUNCTION__ << endl; } //main.cpp #include "Model/MathHelper.h" #include "Model/MathHelper.cpp" int main(int args, char **argv) { MathHelper<uint64_t> mh; mh.randomDemo(0, UINT64_MAX, atoi(argv[1])); cout << "Finished in " << __FUNCTION__ << "," << __LINE__ << endl; }
Compile and run
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2020-12-03 sql server add column with default value
2019-12-03 C# copy folder and files from source path to target path