Templates Generics 模板 范型
Generic Class using Template:
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 | #include <iostream> using namespace std; template < typename T> class Array { private : T* ptr; int size; public : Array(T arr[], int s); void print(); }; template < typename T> Array<T>::Array(T arr[], int s) { ptr = new T[s]; size = s; for ( int i = 0; i < size; i++) ptr[i] = arr[i]; } template < typename T> void Array<T>::print() { for ( int i = 0; i < size; i++) cout << " " << *(ptr + i); cout << endl; } int main() { int arr[5] = { 1, 2, 3, 4, 5 }; Array< int > a(arr, 5); a.print(); return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // C++ Program to demonstrate // Use of template #include <iostream> using namespace std; // One function works for all data types. This would work // even for user defined types if operator '>' is overloaded template < typename T> T myMax(T x, T y) { return (x > y) ? x : y; } int main() { // Call myMax for int cout << myMax< int >(3, 7) << endl; // call myMax for double cout << myMax< double >(3.0, 7.0) << endl; // call myMax for char cout << myMax< char >( 'g' , 'e' ) << endl; return 0; } |
Templates in C++ with Examples - GeeksforGeeks https://www.geeksforgeeks.org/templates-cpp/
Generics in C++ - GeeksforGeeks https://www.geeksforgeeks.org/generics-in-c/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2023-01-12 电商交易场景状态机方案探索及应用 定义一个简明易用的API,来将状态拓扑以及履约处理器串联在一起,完成整个状态机的定义
2022-01-12 vivo 推送平台架构演进
2022-01-12 linux内核的INotify接口机制
2022-01-12 文件传输覆盖的原理
2021-01-12 序列化 效率
2019-01-12 七日年化收益率
2019-01-12 从url到请求 再到页面生成