
使用 C++ 函数模板创建泛型类
函数模板本质上与类的概念非常相似。可以创建泛型类(或参数化类),它根据类型参数来创建一个新类。
语法
template
class ClassName { ... };
此语法声明一个模板,其中 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++ 函数模板创建泛型类?的详细内容,更多请关注知识资源分享宝库其它相关文章!







发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。