Konstruktur Standardwert



  • Hallo,
    wenn ich folgenden Konstruktor habe:

    Klasse (const char* s="Hallo", const char* t ="test"){...}[cpp]
    
    Sind dann Hallo und Test Standardwerte, die genommen werden, wenn bei der Initialisierung nichts anderes angegeben wird? Da könnte ich mir es ja sparen für jede mögliche Initialisierung einen Eigenen Konstruktor festzulegen, der den Rest mit Standardwerten füllt. Und was bedeutet [cpp]const char* t
    

    ist da das char konstant, aud das der Pointer zeigt, oder der Pointer selbst?



  • Die Zeichenkette ist konstant. Also die Elemente auf die der Zeiger zeigt.



  • Ja, Standardwerte ersparen verschiedene Konstruktoren anlegen zu müssen.

    Und bei 'const char *' ist der Inhalt nicht veränderbar, der Zeiger selber kann aber in der Funktion (bzw. hier im Konstruktor) verändert werden.

    Nur 'char * = "Hallo"' würde nicht funktionieren, da ein String-Literal nicht verändert werden darf (d.h. es gibt eine Compiler-Fehlermeldung).


Log in to reply