如何定义嵌套类并使用它

时间:2017-05-03 02:16:21

标签: c++ c++11

我声明了一个嵌套的类Element,我想使用create这样的对象并推入一个在我的AOSMatrix类中存储Element的数组。我遇到的问题是我不知道我应该在我的<{p>}函数push_back中使用什么

void push_back(int i, int j, double val) 

以下是我的其余代码:     #包括     #include

using namespace std;

class AOSMatrix {
    public:
    AOSMatrix(int M, int N) : iRows(M), jCols(N) {}

    void push_back(int i, int j, double val) {
        assert(i < iRows && i >= 0);
        assert(j < jCols && j >= 0);

        arrayData.push_back(???);
    }

    private:
        class Element {
            public:
                int row, col;
                double val;
        }

        int iRows, jCols;
        vector<Element> arrayData;
}

1 个答案:

答案 0 :(得分:1)

你的类Element应该有一个构造函数来初始化字段:

class Element{
    public:
        int row, col;
        double val;
        Element(int row, int col, double val){
            this->row = row;
            this->col = col;
            this->val = val;
        }
}

你可以将向量中的元素推回:

Element e(i, j, val);
arrayData.push_back(e);