使用 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中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com