next up previous
Nächste Seite: Können wir auch binäre Aufwärts: Visual C++ Vorlesung Vorherige Seite: Zuweisungsoperator

Kommen wir an das Objekt heran, dessen Memberfunktion wir aufgerufen haben?

Ja! In jeder Memberfunktion steht ein Zeiger this zur Verfügung, der auf das Objekt zeigt, mit dem die Funktion aufgerufen wurde. Mit anderen Worten: this zeigt auf das Objekt, welches entweder linker Operand eines binären Operators, Operand eines unären Operators, oder das Objekt links vom . ist.

Implementierung des Zuweisungsoperators:


CVector& CVector::operator=(
  const CVector& v
) {
  if(&v == this) return(*this);   // self-assignment

#ifdef _DEBUG
  if(dimension!=v.dimension) {
    cout << "fatal error: dimensions of vectors differ\n";
    exit(1);
  }
#endif
  dimension = v.dimension;
  vector    = new double[dimension];
  for(int i=0; i<dimension; i++)
    vector[i] = v.vector[i];
  return(*this);
}



\fbox {\centerline{\parbox{0.9\textwidth}{
{\bfseries Regel:} Wir schreiben f\um...
...tionen: Konstrukter, Destruktor, Kopier-Konstruktor,
und Zuweisungsoperator!
}}}




1999-12-13