如何使用<>指定类型参数创建模板类

时间:2016-01-13 17:43:36

标签: c++ class vector

我有这段代码:

class Grid {
public:
    vector<vector<int> > grid;
    int width;
    int height;

    Grid (int width, int height) width(width), height(height) {
        ...
    }
};

它创建了一个名为Grid的类,它是一个整数的2D数组。但问题是,目前它只能是整数,但我想要它,所以它有点像std::vector类,你可以在其中使用{{ 1}}括号以选择它将存储的类型。我的问题是,如何在 我的 类中使用这些内容,以便将所有当前<>替换为任何其他类。

另外,你可能会说要查找它,但我尝试了但我找不到任何东西,可能是因为我不知道该搜索什么,所以如果有人能让我知道这甚至是什么当时称之为“也很有帮助”。

1 个答案:

答案 0 :(得分:6)

您似乎只想模拟Grid课程:

template <typename T>
class Grid {
  public:
    vector<vector<T> > grid;

    // initialize the vector with the correct dimensions:
    Grid (int width, int height)
        : grid(width, vector<double>(height)) {}
};

然后实例化:

Grid<double> g(x, y);

这将创建一个Grid对象,Tdouble