我通过矢量
创建了几个城市 void World::vytvorMesta()
m_cities.push_back(new City("Kokotkova", 23));
m_cities.push_back(new City("Kokotkovasda", 223));
m_cities.push_back(new City("Kokotkqweova", 231));
m_cities.push_back(new City("Kokotkasdova", 243));
然后我需要打印它们
void World::printInfo2() {
m_player->printInfo();
if(m_cities.size()>0){
for(unsigned int i=0; i<m_cities.size(); i++){
m_cities.at(i)->printInfo();
}
}
}
所以我得到一个输出
我的问题是如何只从这个向量中获取一个输出...不是全部,我怎样才能旅行&#34;他们之间......从矢量1到2等等再次打印出来。有人能帮助我吗?
提前致谢。
答案 0 :(得分:1)
这将打印矢量中的第一个元素(位置0)&amp;调用其printInfo()
方法:
m_cities.at(0)->printInfo();
同样:
m_cities[0]->printInfo();
at()
&amp;之间的差异如果您尝试访问向量之外的元素,则[]
运算符会at()
抛出out_of_range
异常。
如果你想要第二个元素(位置1):
m_cities.at(1)->printInfo();
m_cities[1]->printInfo();
等等...