如何使用集合迭代器访问类的属性

时间:2019-04-19 18:52:46

标签: c++

我有一组“行星”类。在这个问题中,我需要在这个集合中找到一个Planet,而我只有属性名称。因此,我创建了一个迭代器,并找到使用此类的函数所需的名称。但是,那是行不通的。

我尝试过

class Planeta{
    private:
        std::string name;
        int temperatura;
        std::set <Astro*> moons;
    public:
        void incluirLua(Astro* lua);
};
class SistemaSolar{
    private:
        std::set <Planeta*> planets;
        std::set <Astro*> stars;

    public:
        void adicionarLuaAoPlaneta(std::string planet, Astro* moon);
};
void SistemaSolar::adicionarLuaAoPlaneta(std::string planetName, Astro* moon){
    std::set<Planeta*>::iterator it;
    for (it=planets.begin(); it!=planets.end(); ++it){
        if(*it.name = planetName){
            *it->incluirLua(moon);
        }
    }
}

0 个答案:

没有答案