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;}

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

Q Warum?

method(,x,y);

Overloading (Ãœberladen) | | Copy-Konstruktor

Options: