使用 C++ 函数模板创建泛型类
函数模板本质上与类的概念非常相似。可以创建泛型类(或参数化类),它根据类型参数来创建一个新类。
语法
立即学习
“
C++免费学习笔记(深入)
”;
此语法声明一个模板,其中
是类型参数。
实战案例
C知道
CSDN推出的一款AI技术问答工具
下载
创建一个用于存储和操作不同类型数据的泛型列表类:
用法
使用整数类型的泛型列表:
使用字符串类型的泛型列表:
通过函数模板创建泛型类,可以创建可用于操作不同类型数据的可重用和灵活的容器类。
templateclass ClassName { ... };T// 泛型列表类
template
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 intList;
intList.push_back(10);
intList.push_back(20);
cout << intList[0] << endl; // 输出 10 List stringList;
stringList.push_back("Hello");
stringList.push_back("World");
cout << stringList[1] << endl; // 输出 "World" 