我有一组“行星”类。在这个问题中,我需要在这个集合中找到一个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);
}
}
}