J'ai une classe abstraite appelée IClass (a une fonction virtuelle pure). Il existe certaines classes qui héritent IClass: CFirst, CSecond. Je veux ajouter des objets de classes qui héritent en boost :: ptr_vector:Comment construire boost pour chaque cycle
class IClass { virtual void someFunc() = 0; };
class CFirst : public IClass { };
class CSecond : public IClass { };
boost::ptr_vector<IClass> objectsList;
objectsList.push_back(new CFirst());
objectsList.push_back(new CSecond());
Et maintenant, mon objectif est d'appeler la fonction (qui est declarated dans IClass) de tous les objets objectsList. Je préfère utiliser BOOST_FOREACH:
foreach(IClass tempObj, objectsList)
{
tempObj.someFunc();
}
Le problème est que IClass - classe abstraite, donc je ne peux pas faire par exemple de celui-ci pour le cycle de foreach. Que devrais-je faire?