Aufruf von member-Funktionen von einem Objekt gespeichert in einem Vektor

Dies klingt vielleicht wie eine newbie-Frage. Wie rufe ich eine member-Funktion eines Objekts, gespeichert in einem Vektor ? Angeblich habe ich diese Klasse:

class A {
public:
void foo() {
std::cout << "Hello World"; }
};

Dann Speicher ich einige Objekte in einem vector:

std::vector<A*> objects;
A* b;
A* c;
A* d;

objects.push_back(b);
objects.push_back(c);
objects.push_back(d);

Nun möchte ich eine Schleife erstellen, in der jedes Objekt in den Vektor nennen würde, es ist ein eigenes foo () - Funktion. Wie sollte ich das tun ? Zuerst dachte ich, ich könnte nur so etwas tun:

objects[2].foo();

Aber es scheint, dass ich es nicht tun wie diese.

  • Versuchen Sie, Objekte[2]->foo()
  • Die sind nicht "Objekte, gespeichert in einem Vektor -" die sind "Objekt-Zeiger gespeichert in einem Vektor".
InformationsquelleAutor Andre Popa | 2013-07-28
Schreibe einen Kommentar