模板类通过template<typename T>定义,实现类型通用的类,如MyArray可存储任意类型数据,支持int、double、string等实例化,提升代码复用性与灵活性。

在C++中,模板类是一种通用类,允许你定义不依赖具体类型的类,从而让类可以适用于多种数据类型。使用模板类能提高代码的复用性和灵活性。
使用template关键字来定义模板类,后面跟上模板参数列表,通常用typename或class关键字声明类型参数。
基本语法如下:
template <typename T>下面定义一个简单的动态数组模板类MyArray,它可以存储任意类型的数据。
立即学习“C++免费学习笔记(深入)”;
#include <iostream>template <typename T>
class MyArray {
private:
T* data;
int size;
public:
// 构造函数
MyArray(int s) : size(s) {
data = new T[size];
}
// 析构函数
~MyArray() {
delete[] data;
}
// 获取元素
T& get(int index) {
return data[index];
}
// 设置元素
void set(int index, const T& value) {
data[index] = value;
}
// 输出所有元素
void print() const {
for (int i = 0; i < size; ++i) {
cout << data[i] << " ";
}
cout << endl;
}
};
定义好模板类后,可以在main函数中实例化不同类型的对象。
int main() { // 创建double类型的MyArray
MyArray<double> doubleArray(3);
doubleArray.set(0, 1.1);
doubleArray.set(1, 2.2);
doubleArray.print(); // 输出: 1.1 2.2 0
// 创建string类型的MyArray(需包含<string>)
#include <string>
MyArray<string> strArray(2);
strArray.set(0, "Hello");
strArray.set(1, "World");
strArray.print(); // 输出: Hello World
return 0;
}
使用模板类时需要注意以下几点:
基本上就这些。掌握模板类能让你写出更通用、高效的C++代码。
以上就是c++++怎么定义一个模板类_c++模板类定义与使用示例的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号