使用 C++ 函数模板创建泛型类
函数模板本质上与类的概念非常相似。可以创建泛型类(或参数化类),它根据类型参数来创建一个新类。
语法
template
class ClassName { ... };
立即学习“C++免费学习笔记(深入)”;
此语法声明一个模板,其中 T 是类型参数。
实战案例
创建一个用于存储和操作不同类型数据的泛型列表类:
// 泛型列表类 template<typename T> class List { private: struct Node { T data; Node *next; Node(const T& data) : data(data), next(nullptr) {} }; Node *head; Node *tail; int size; public: List() : head(nullptr), tail(nullptr), size(0) {} ~List() { clear(); } // 添加元素 void push_back(const T& data) { ... } // 获取元素 T& operator[](int index) { ... } // 删除元素 void erase(int index) { ... } // 清空列表 void clear() { ... } // 获取大小 int getSize() { return size; } };
用法
使用整数类型的泛型列表:
List<int> intList; intList.push_back(10); intList.push_back(20); cout << intList[0] << endl; // 输出 10
使用字符串类型的泛型列表:
List<string> stringList; stringList.push_back("Hello"); stringList.push_back("World"); cout << stringList[1] << endl; // 输出 "World"
通过函数模板创建泛型类,可以创建可用于操作不同类型数据的可重用和灵活的容器类。
以上就是如何使用 C++ 函数模板创建泛型类?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号