next up previous contents index
Next: Öffentliche Vererbung modelliert ``istein'' Up: 50 Ways to Improve Previous: Benutze inline mit Bedacht

Abhängigkeiten zwischen Programm-Moduln

In C++ sind Klassenimplementierung und Klassenschnittstelle nicht klar getrennt:      

    #include "string.h"
    #include "date.h"
    class person
    { string name;  // Implementierung
      date geb;     // Implementierung
     public:
      person(string, date); // Schnittstelle
      ...
    };

tex2html_wrap_inline5173 auch wenn Änderungen sich auf die (private) Implementierung beschränken, müssen Anwender der Klasse neu übersetzt werden.

Abhilfe ist möglich über Zeiger auf die Implementierung:

    // Forward Declarations
    class string;
    class date;
    class personimpl;

    class person
    { personimpl *impl;
     public:
      person(string, date); // Schnittstelle
      ...
    };


next up previous contents index
Next: Öffentliche Vererbung modelliert ``istein'' Up: 50 Ways to Improve Previous: Benutze inline mit Bedacht

Peter Pfahler, 1997