Der Standardkonstruktor oder auch Defaultkonstruktor ist ein Konstruktor ohne Parameter. Er sorgt dafür, daß eine Klasse wie die Standardtypen definiert werden kann:
TYP NameDerInstanz;
Durch diese Kurzform der Definition fügen sich Objekte in C++ in die gewohnten Programmierschemata aus Standard-C nahtlos ein. Man könnte zwar auch ein Datum mit Hilfe des Standardkonstruktors durch
datum gestern= datum();
aufrufen, aber diese Form wäre sicherlich unpraktisch und auch ungewohnt.
Falls eine Klasse keine Definition eines Konstruktors enthält, wird ein Standardkonstruktor vom Compiler geliefert. Dieser initialisiert die Klasse im wesentlichen dadurch, daß die Standardkonstruktoren der Elemente aufgerufen werden - Instanzen von Basistypen werden dabei auf Null gesetzt. Der Standardkonstruktor wird aber nicht mehr vom Compiler generiert, wenn ein anderer Konstruktor definiert ist. Dann muß der Programmierer der Klasse diesen selber liefern, ansonsten wird davon ausgegangen, daß ein Standardkonstruktor nicht gewünscht wird. Dies kann ja durchaus der Fall sein, wenn eine Klasse nicht ohne Parameter sinnvoll initialisierbar ist - so ist die Definition des Standardkonstruktors der aktuellen Beispielklasse ja auch nicht unbedingt sinnvoll.