Wobei es sich hier anbieten würde, bei der Funktion
ShowDetails(), eine konstante Referenz, statt einem Zeiger zu übergeben. Auch wenn beides natürlich funktioniert. Wann Referenz und wann Zeiger, dazu findest du auch einen kleinen zusammenfassenden Abschnitt im Buch auf Seite 174.
Außerdem noch etwas wichtiges: Wenn du ein Objekt auf dem Heap anlegst (also das Schlüsselwort
new benutzt) dann musst du dieses Objekt auch wieder freigeben. Am Besten sobald zu es nicht mehr brauchst, spätestens wenn das Programm beendet wird. Also solltest du diese Zeil noch am Ende zu deinem Quellcode hinzufügen:
|
C-/C++-Quelltext
|
1
|
delete(pCar);
|
Weniger wichtige Hinweise:
system("Pause"); ist nicht plattformunabhänig und so weiter... kurz: man benutzt es nicht. Statt dessen könntest du ein
std::cin.ignore(); an dessen Stelle setzen. Außerdem hast du ein return vergessen. Das ist bei der main-Funktion, als einzige Ausnahme, nicht so schlimm... das macht der Compiler in diesem Fall von alleine. Du solltest es dir allerdings angewöhnen, bei allen anderen Funktionen mit Rückgabewert musst du es selbst hinzufügen. Außerdem kannst du bei der Main-Funktion so auch bestimmen, wann und vor allem mit welchem Rückgabewert dein Programm beendet werden soll.
Gruß
SaRu_