Hallo,
ich habe 3 Kindklassen und eine Elternklasse.
In einem Vector der vom Typ Elternklasse hat ein paar Kindklassen hinzugefügt.
Jede Kindklasse überlädt für sich den Stromausgabeoperator, der als Friend in der jeweiligen h-Datei definiert ist.
Jetzt möchte ich über die for-schleife entsprechende Überladung von der jeweiligen Kindklasse überladen.
Code:
z.B bei der audi.h habe ich den Operator so deklariert:
Definition:
Aber der Aufruf in der Schleife kriege ich gerade nicht hin:
Leider springt er nicht rein, sondern gibt einfach eine Adresse aus.
Danke für jede Hilfe
ich habe 3 Kindklassen und eine Elternklasse.
In einem Vector der vom Typ Elternklasse hat ein paar Kindklassen hinzugefügt.
Jede Kindklasse überlädt für sich den Stromausgabeoperator, der als Friend in der jeweiligen h-Datei definiert ist.
Jetzt möchte ich über die for-schleife entsprechende Überladung von der jeweiligen Kindklasse überladen.
Code:
C++:
vector<Auto*> car;
car.push_back(new opel);
car.push_back(new vw);
car.push_back(new audi);
z.B bei der audi.h habe ich den Operator so deklariert:
C++:
friend ostream& operator<<(ostream& os, Audi& au);
Definition:
C++:
ostream& operator<<(ostream& os, Audi& aus){
os << au.toString() << "\n";
return os;
}
Aber der Aufruf in der Schleife kriege ich gerade nicht hin:
C++:
for (size_t i = 0; i < devices.size(); i++)
{
//hier sollte er nun in die jeweilige Überladung vom Ausgabestromoperator der jeweiligen Kindklasse //springen
std::cout << devices.at(i) << "\n";
}
Leider springt er nicht rein, sondern gibt einfach eine Adresse aus.
Danke für jede Hilfe