模版数组
时间: 2023-09-08 16:09:53 浏览: 31
模板数组是指在数组中存储的数据类型是一个模板类型,可以在定义数组时指定数组元素的类型。例如,可以定义一个模板数组来存储整数、浮点数、字符串等等。使用模板数组可以简化代码,提高代码的可重用性和灵活性。以下是一个模板数组的示例:
```c++
template<typename T>
class Array
{
private:
T* m_data;
int m_size;
public:
Array(int size)
{
m_size = size;
m_data = new T[size];
}
~Array()
{
delete[] m_data;
}
T& operator[](int index)
{
return m_data[index];
}
int size()
{
return m_size;
}
};
```
这个模板数组类定义了一个具有指定大小的数组,可以通过索引访问数组元素,并且可以在运行时指定元素的类型。例如,可以创建一个整数类型的模板数组:
```c++
Array<int> intArray(5);
```
或者创建一个字符串类型的模板数组:
```c++
Array<std::string> stringArray(10);
```
相关问题
C++模板数组类
以下是一个简单的 C++ 模板数组类的示例代码:
```c++
#include <iostream>
template <typename T, int size>
class Array {
private:
T arr[size];
public:
void set(int index, T value) {
arr[index] = value;
}
T get(int index) const {
return arr[index];
}
};
int main() {
Array<int, 5> arr;
for (int i = 0; i < 5; i++) {
arr.set(i, i);
}
for (int i = 0; i < 5; i++) {
std::cout << arr.get(i) << " ";
}
return 0;
}
```
该类模板有两个模板参数:T 表示数组元素的类型,size 表示数组的大小。在该模板类中,我们定义了两个公有成员函数:set 和 get,用于设置和获取数组元素。
在主函数中,我们使用了该模板类来创建了一个整数类型的长度为 5 的数组,并通过 set 函数将数组元素设置为数组下标的值。最后,我们使用 get 函数输出了数组元素的值。
需要注意的是,在实例化模板类时,需要显式地指定模板参数的类型和值。在本例中,我们通过 Array<int, 5> 来实例化了该模板类。
C++模板数组类三行输入
下面是一个简单的 C++ 模板数组类的实现,可以用三行输入来创建和初始化一个数组对象:
```c++
#include <iostream>
template <class T, int size>
class Array {
private:
T arr[size];
public:
void input() {
for (int i = 0; i < size; i++)
std::cin >> arr[i];
}
void output() {
for (int i = 0; i < size; i++)
std::cout << arr[i] << " ";
std::cout << std::endl;
}
};
int main() {
Array<int, 5> a;
std::cout << "Please input 5 integers:" << std::endl;
a.input();
std::cout << "The array is:";
a.output();
return 0;
}
```
在该示例中,我们使用了一个模板类 `Array`,它接受两个参数:`T` 表示元素类型,`size` 表示元素个数。在 `main` 函数中,我们创建了一个 `Array<int, 5>` 类型的对象 `a`,并要求用户输入 5 个整数,最后输出这个数组。