创建指针数组

时间:2015-10-13 22:28:36

标签: c++ arrays pointers reference

我正在尝试创建一个Object指针数组,以便对某些数据进行排序。这是我的代码:

ArrayClass<Exoplanet*> exoplanets;
int count = 0;
for (int i = 0; i < exosystems.size(); ++i) {
    ArrayClass<Exoplanet> *temp = exosystems.at(i)->getPlanets();
    for (int k = 0; k < temp->size(); ++k) {
        exoplanets.add(&temp->at(k));
    }
    temp->~ArrayClass();
}
//check to see if pointer array is working properly
for (int i = 0; i < exoplanets.size(); ++i) {
    exoplanets.at(i)->printPlanet();
    cout << endl;
}

ArrayClass<Exoplanet> *Exosystem::getPlanets(void) const
{
    return planets;
}

最后还包含了getPlanets()函数以供参考。每当我在最后一个for循环中打印行星时,所有的系外行星指针都指向从getPlanet()函数返回的最后一个系外行星,最后一次通过第一个for循环。我认为这与exoplanets.add(&amp; temp-&gt; at(k))有关,但我不知道如何解决它。提前致谢

0 个答案:

没有答案
相关问题