C-Programmierung
Standardwerte
← Overloading (Ãœberladen) | ● | Copy-Konstruktor →
Bei der Definition eines Parameters können Standardwerte angegeben werden. Diese werden benutzt, wenn der Parameter beim Funktionsaufruf nicht spezifiziert wird. Dadurch enstehen automatisch mehrere überladenene Funktionen.
Complex(double r=0.0,double i=0.0) {re=r; im=i;} // overloaded constructor
Dies erzeugt automatisch drei überladene Konstruktoren:
Complex(double r,double i) {re=r; im=i;}
Complex(double r) {re=r; im=0.0;}
Complex() {re=0.0; im=0.0;}
Complex(double r) {re=r; im=0.0;}
Complex() {re=0.0; im=0.0;}
Es sind nur Standardwerte rechtsseitig zum Ende der Parameterliste zulässig.
method(double a,double b,double c=0.0); // ok
method(double a,double b=0.0,double c=0.0); // ok
method(double a=0.0,double b=0.0,double c=0.0); //ok
method(double a,double b=0.0,double c); // bad
method(double a=0.0,double b,double c); // bad
method(double a,double b=0.0,double c=0.0); // ok
method(double a=0.0,double b=0.0,double c=0.0); //ok
method(double a,double b=0.0,double c); // bad
method(double a=0.0,double b,double c); // bad
Q Warum?
method(,x,y);