Einzelnen Beitrag anzeigen

Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#16
  Alt 20. Mai 2003, 16:49
Zitat von CepheidenX:
Du programmierst objektorientiert in C?
Da frag ich mich warum man C++ eingeführt hat.
Denn immerhin ist "der Fortschritt" in C++ das man im Gegensatz zu C objektorientiert programmieren kann.

Ausserdem hast du doch selber C in die Gruppe A - Nicht-objektorientierte Sprachen mit Standardsyntax - eingeordnet.
C++ unterstützt dich beim objektorientierten Programmieren, indem es dir Schlüsselwörter wie "class" gibt, daher nenne ich es "objektorientiert". In C gibt es solche Schlüsselworter nicht, es ist jedoch möglich, in C objektorientiert zu Programmieren (es ist in jeder Sprache möglich, die dir Strukturen und Pointer zur Verfügung stellt, also auch in Turbo Pascal < 5.5). Der Datenbereich deiner Klasse ist eine Struktur. Die Methoden implementierst du als normale Funktionen, die die Struktur als Parameter bekommen. Dann kannst du Objekte erstellen und löschen:
Code:
object *o;
o = (object *)malloc(sizeof(object));
if (o)
    free(o);
Die Vererbung läuft über das Aufrufen der Methoden der Elternklasse durch die Methoden der Kindklasse. Soll die Datenstruktur geändert werden, muss man gleich von Anfang an mit void-Pointern arbeiten, damit man Eltern-Methoden auch Kinder-Instanzen übergeben kann.

MfG,
d3g
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat