C ++如何在其类方法中调用一个对象?

时间:2016-05-02 13:21:51

标签: c++

抱歉,如果标题不清楚,我会尝试更好地解释我的问题。

我创建了一个类Unit:

class Unit {
   .
   .  (attributes)
   .
   public: 
    vector<Unit> getvoisins(Game Game0);
    vector<Unit> getgroupe(Game Game0);
};

而且,在getgroupe中,我有一个问题,我如何参考单位我应用该方法?我开始写作:

vector<Unit> Unit:: getgroupe(Game Game0) {
    vector<Unit> L;
    L.push_back( ???? );        
    return L;
}

如何推翻相关单位?就像我打电话UnitA.getgroupe一样,我想让方法执行L.push_back(UnitA)(然后是其他事情),但我不知道如何编写它。 (用什么来取代??)

很抱歉,如果我没有解释清楚,或者问题是否已在其他地方得到解答,我无法找到答案,因为我无法解决问题。

1 个答案:

答案 0 :(得分:4)

this是指向您当前正在调用该方法的对象的指针。 *this是指针指向的对象。

在您的情况下,这应该有效:

vector<Unit> Unit::getgroupe(Game _game0) // why the parameter?
{
    vector<Unit> L;
    L.push_back(*this); // the object of "This" current object

    return L;
}

建议:使用适当的变量名称