Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

14StrukturKlasse1 Von der Struktur zur Klasse von C zu C++ Von Jens Hoffmann 18. 7. 2000.

Ähnliche Präsentationen


Präsentation zum Thema: "14StrukturKlasse1 Von der Struktur zur Klasse von C zu C++ Von Jens Hoffmann 18. 7. 2000."—  Präsentation transkript:

1 14StrukturKlasse1 Von der Struktur zur Klasse von C zu C++ Von Jens Hoffmann

2 14StrukturKlasse2 Die Struktur von C Die Struktur umfasst immer nur einen Ausschnitt. Nur das, was für die Bearbeitung einer Aufgabe wichtig ist, wird in die Struktur aufgenommen. Die Struktur reserviert keinen Speicherplatz (dient als Information für den Compiler)

3 14StrukturKlasse3 Beispiel für eine Struktur struct Artikel { char Bezeichnung[50]; char Artnummer[20]; float Preis; int LieferantenCode; }; Typendefinition mit Strukturen In C ist der Strukturname alleine noch keine Typenbezeichnung typedef struct Artikel artikel

4 14StrukturKlasse4 Auch diese Anweisung reserviert noch keinen Speicherplatz. Sie sagt dem Compiler, dass ab jetzt artikel ein Datentyp ist. Definition von strukturierten Variablen Da es sich um einen Datentyp handelt, können Variable nach den gleichen Spielregeln angelegt werden wie einfache Variablen auch z.B. artikel CD;

5 14StrukturKlasse5 Informationsdateien In einer Informationsdatei ist die Strukturdefinition, die Deklarationen der Operatorfunktion und etwaige Konstanten zusammen. Im Englischen heißen diese Dateien header files Der Anwender kann diese Informationsdatei mit Hilfe der Präprozessoranweisung #include während der Übersetzung seiner eigenen Datei mit einlesen.

6 14StrukturKlasse6 #include #ifndef RATIOHEADER #define RATIOHEADER struct RATIO { int z; int n; } typedef struct RATIO ratio; void rprint (ratio *zeiger); ratio raddiere (ratio *r1, ratio *r2); #endif

7 14StrukturKlasse7 Die Abfrage #ifndef (if not defined /falls nicht definiert) sucht nach dem Namen RATIOHEADER. Wird er nicht gefunden, wird der Rest der Datei bearbeitet. Wurde die Datei während einer Übersetzung bereits einmal eingelesen, dann ist der Name bekannt und der Präprozessor sucht nach dem Ende der Bedingung bei #endif

8 14StrukturKlasse8 Probleme bei C Der Compiler kann den privaten Typ nicht vollständig überprüfen Ordnung und korrekter Aufbau der header- Dateien bleiben dem Programmierer Überlassen. Weiter kann man mit den Strukturen in C keine wirklichen Datentypen definieren.

9 14StrukturKlasse9 Die Klasse in C++ class artikel { private: float Preis; char Bezeichnung[40]; char EAN[20]; public: float GibPreis (); void SetzeEan (char *code); };

10 14StrukturKlasse10 Die Klasse beinhaltet: 1. Die Typdefinition 2. die Deklaration der Datenelemente 3. Die Deklaration der zugelassenen Operationen

11 14StrukturKlasse11 OOP Objekt - orientierte Programmierung Die Elemente einer Klasse können nun Daten - oder Funktionsdeklarationen sein. Die zu einem Datenelement gehörende Funktion nennt man nun Methoden.

12 14StrukturKlasse12 #include #ifndef RATIOHEADER #define RATIOHEADER class ratio { private: int z; int n; public: void print (); ratio addiere (ratio *r2); }; #endif

13 14StrukturKlasse13 Benennung der Informationsdatei Der Name der Informationsdatei variiert bei verschiedenen Compilerherstellern. Am meisten verbreitet sind..hpp und schlicht.h

14 14StrukturKlasse14 Implementierung der Methoden Dem Namen der Methode muss man mit Hilfe des neuen Bereichsoperators den Namen der zugehörigen Klasse voranstellen. Die Zuordnung der Methode zu einer Klasse benutzt der Compiler zur Überprüfung

15 14StrukturKlasse15 #include ratio.hpp void ratio::print () { printf (%d / %d,z, n); } ratio ratio ::addiere (ratio *op2) } ratio erg; erg.z = z * op2 ->n + n * op2 ->z; erg.n = n * op2 ->n; return erg; }


Herunterladen ppt "14StrukturKlasse1 Von der Struktur zur Klasse von C zu C++ Von Jens Hoffmann 18. 7. 2000."

Ähnliche Präsentationen


Google-Anzeigen