所以这里有两个我正在处理的函数:
void Ville::sous_la_moyenne( int moyenne, Tableau<Quartier>* quartiersSousMoyenne )
{
for( int i = 0; i < nbQuartiers_; i++ )
{
if( quartiers_[i].get_revenuMoyen() < moyenne )
{
quartiersSousMoyenne->ajouter( quartiers_[i] );
}
}
}
void Ville::afficher_quartier_sous_moy( Tableau<Quartier>* quartiersSousMoyenne )
{
for( int i = 0; i < quartiersSousMoyenne->taille(); i++ )
{
cout << quartiersSousMoyenne[i]->get_nom() << " Revenu moyen:"
<< quartiersSousMoyenne[i]->set_revenuMoyen() << endl;
}
}
这不起作用:-quartiersSousMoyenne[i]->get_nom()
-quartiersSousMoyenne[i]->set_revenuMoyen()
我尝试过:-quartiersSousMoyenne[i].get_nom()
-*( quartiersSousMoyenne[i] ).get_nom()
-*quartiersSousMoyenne[i].get_nom()
-*(quartiersSousMoyenne + i).get_nom()
上面写着:"在‘Tableau’中没有名为‘set_revenuMoyen’的成员">
如果您在第一个名为sous_la_moyenne的函数中看到,有一个名为quartiers_Tableau的实例。我用[I]访问它的元素,然后使用函数get_revenuMoyen((,它是类Quartier的函数。
我现在想做同样的事情,但对于Tableau的指针。。。如果可能的话。
我成功地使它在没有指针的情况下工作,但我不想复制对象。
附言:不要试图理解变量名称的含义。。。我说法语:DTableau的意思是数组-这个很重要。
实际上TheArquitect给了我一个很好的建议。他说最好使用&(引用(,而不是*(指针(来传递对象。
它是这样工作的:
void Ville::afficher_quartier_sous_moy( Tableau<Quartier>& quartiersSousMoyenne )
{
for( int i = 0; i < quartiersSousMoyenne.taille(); i++ )
{
cout << quartiersSousMoyenne[i].get_nom() << " Revenu moyen:"
<< quartiersSousMoyenne[i].get_revenuMoyen() << endl;
}
}
我认为这个案子已经解决了。