C-Programmierung

Overloading (Ãœberladen)

Abstrakte Klassen | | Standardwerte

Virtuelle Methoden oder Methoden einer Basisklasse können in abgeleiteten Klasse überschrieben werden.

Das Ãœberschreiben geht so weit, dass verschiedene Methoden mit demselben Namen aber verschiedenen Parametern erlaubt sind, z.B.:

void method();
void method(double a);
void method(double *a);
void method(double a,double b);
void method(...);
...

Die Voraussetzung ist, dass die einzelnen Methoden in der Anzahl und Art der Parameter und des jeweiligen Namensraums eindeutig unterscheiden.

Eine Funktion, von der mehrere Varianten mit unterschiedlichen Parametern existieren nennt man überladen (overloaded). Auch Konstruktoren und Operatoren lassen sich überladen (im Gegensatz zu Destruktoren).

class Complex
{
   public:

   Complex() {re=im=0.0;} // default constructor
   Complex(double r,double i) {re=r; im=i;} // overloaded constructor

   ~Complex() {}

   private:

   double re,im;
};

Complex a;        -> a.re=0 a.im=0
Complex b(0,-1);  -> b.re=0 b.im=-1


Abstrakte Klassen | | Standardwerte

Options: