在向量中编辑对象

时间:2014-05-12 01:34:18

标签: c++ class object vector

如何编辑矢量中的对象?

现在我的矢量是vector<PCB> M3M;

里面是我班上的几个对象。

class PCB
{
public:

    void setPID (int a)
    {
        PID = a;
    }
    int retrievePID()
    {
        return PID;
    }

    int retrieveLimit()
    {
        return Limit;
    }
    void setLimit (int a)
    {
        Limit = a;
    }
    int retrieveBase()
    {
        return Base;
    }
    void setBase (int a)
    {
        Base = a;
    }
    int retrieveHoleTrueOrFalse()
    {
        return HoleTrueOrFalse;
    }
    void setHoleTrueOrFalse (int a)
    {
        HoleTrueOrFalse = a;
    }

private:
    int PID;
    int Limit;
    int Base;
    int HoleTrueOrFalse;
};

如何在我在对象中选择的任何地方编辑PID部件?

例如,我想在M3M [4]的矢量中设置一个新的PID。我该怎么做呢?

2 个答案:

答案 0 :(得分:3)

M3M[4].setPID(<new PID>);

答案 1 :(得分:1)

您还可以拥有一个迭代器,它可以指向数组中的元素并为其设置新的PID。例如:

std::vector<PCB>::iterator it = M3M.begin();
//this will advance your iterator by 3
it += 3;
it->setPID(5); // this will set the 3rd element's PID to 5

请记住,您的向量需要至少有4个元素才能执行上面的代码。为了填充向量,可以使用向量的push_back()方法。

M3M.push_back(PCB(0));
M3M.push_back(PCB(1));
M3M.push_back(PCB(2));
M3M.push_back(PCB(3));
M3M.push_back(PCB(4));