#include"JWI_Klassen_Liste.cpp" class Geschaeftspartner { // Attribute public: // Notwendig, damit die abgeleiteten Klasse die Daten direkt verändern können char* name; // Name des Kunden bzw. Lieferanten char* strasse; // Straße und Hausnummer des Kunden bzw. Lieferanten char* ort; // Ort des Kunden bzw. Lieferanten char* plz; // Postleitzahl des Kunden bzw. Lieferanten char* tel; // Telefonnummer des Kunden bzw. Lieferanten int gnr; // Nummer des Kunden bzw. Lieferanten //Operationen public: // Konstruktor Geschaeftspartner(char* n="", char* s="", char* o="", char* p="", char* t="", int nu=0) : name(n), strasse(s), ort(o), plz(p), tel(t), gnr(nu) {} // Destruktor ~Geschaeftspartner(void) {} // Daten abfragen char* HoleNamen(void); char* HoleStrasse(void); char* HoleOrt(void); char* HolePlz(void); char* HoleTel(void); }; // abgeleitete Klassen // nur notwendig für den eindeutigen Bildschirmdialog der Operation Neu // und der darin geforderten Kunden- bzw. Lieferantennummer class Kunde: public Geschaeftspartner { // Operationen public: // abgeleiteter Konstruktor Kunde(char* n="", char* s="", char* o="", char* p="", char* t="", int nu=0) : Geschaeftspartner (n, s, o, p, t, nu) {} // weitere Daten abfragen int HoleKundenNr(void); // ändert über einen Bildschirmdialog die Daten des Objektes void DatenAendern(void); // ein neuer Kunde wird initialisiert // - übernahme ins System über die Klasse Verwaltung: NeuerKunde void Neu(int kundennr); }; class Lieferant: public Geschaeftspartner { // Operationen public: // abgeleiteter Konstruktor Lieferant(char* n="", char* s="", char* o="", char* p="", char* t="") : Geschaeftspartner (n, s, o, p, t) {} // weitere Daten abfragen int HoleLieferantenNr(void); // ändert über einen Bildschirmdialog die Daten des Objektes void DatenAendern(void); // ein neuer Lieferant wird initialisiert // - übernahme ins System über die Klasse Verwaltung: NeuerLieferant void Neu(int lieferantennr); }; // von der Klasse Liste werden weitere Klasse abgeleitet, die als Karteien bezeichtnet werden // diese Beszeichnung soll andeuten, daß diese Klasse durch Operationen erweitert werden // können, die diese Liste ggf. auf einem externen Datenträger anlegen: class KundenKartei: public Liste{}; class LieferantenKartei: public Liste{};