Gast JAM Geschrieben 10. September 2002 Geschrieben 10. September 2002 Kann mir jemand folgende Begriffe erklären und vielleicht ein kleines Beispiel dazu geben? Ich komme damit immer durcheinander und bin mir nicht sicher was jetzt genau was bedeutet! Anweisung Zuweisung Argument Ausdruck (abstrakte) Klasse(n) recht herzlichen Dank im Voraus! Zitieren
kingofbrain Geschrieben 10. September 2002 Geschrieben 10. September 2002 Servus!! Also, ich probiers mal: Anweisung: wie zuhause hol solange Butter, bis der Kühlschrank voll ist (do while) Zuweisung: einer Varbiablen wird ein Wert zugewiesen (int x = 2) Argument: wird einer Methode übergeben, die dann damit arbeiten kann. public int addiere(int zahl1, int zahl2) { return zahl1 + zahl2; } Ausdruck: kommt ausm Drucker (Witz); ein Ausdruck kann irgendwie alles sein (meine Meinung) eine Codezeile ist z.B. ein Ausdruck (abstrakte) Klasse(n): Klassen werden in der objektorientierten Programmierung verwendet. Sie sind abstrakte Objekte (z.B. Haus, Auto) und können Eigenschaften und Verhalten (Methoden) haben. Beim Auto: Eigenschaften: Farbe, PS, VMax; Methoden: anfahren, bremsen. Ich hoffe, es hilft Dir, und vor allem, dass es richtig ist... Schönen Tag noch, k.o. b Zitieren
Gast JAM Geschrieben 10. September 2002 Geschrieben 10. September 2002 Erstmal Danke für die Antwort! Ich hab mal in nem Buch nachgeschlagen.: Ein Ausdruck ist z. B. auch folgendes: 1; Zitieren
Jestertales Geschrieben 11. September 2002 Geschrieben 11. September 2002 Original geschrieben von JAM Ein Ausdruck ist z. B. auch folgendes: 1; Nachdem was ich weiß, ist ein Ausdruck alles, was man zu einem Wert auswerten kann. Zitieren
Popolino Geschrieben 13. September 2002 Geschrieben 13. September 2002 Hallöchen, nur noch kurz was zu abstrakten Klassen. Eine abstrakte Klasse ist eine Klasse von der man keine Instanzen (Objekte) erstellen kann. Beim Beispiel Auto wäre es eine Oberklasse in der Vererbungshierarchie. Warum keine Instanzen gebildet werden (dürfen) kann verschiedene Gründe haben! Entweder es macht ganz einfach keinen Sinn oder man kann mit der Instanz der Klasse nichts anfangen. So, ich hoffe ich habe Dich nicht zu sehr verwirrt! Thommy! Zitieren
Lachdanan Geschrieben 15. September 2002 Geschrieben 15. September 2002 Ich dachte immer von einer abstrakten (Basis-)Klasse kann man keine Instanzen bilden weil all ihre Methoden virtuell sind. Oder anders ausgedrückt, eine Klasse welche nur eine nicht virtuelle Methode enthält ist keine abstrakte Klasse. :confused: Zitieren
Popolino Geschrieben 16. September 2002 Geschrieben 16. September 2002 Ja, da hast Du Recht...... ich halt mich an die verständlichere Version! Für mich! Dabei handelt es sich leider um schwer verständliche Definitionen! Denke ich zumindest! Ich brauch sowas recht selten und schau eigentlich immer aufs Neue nach! Grüßle, Thommy! Zitieren
Orffi Geschrieben 16. September 2002 Geschrieben 16. September 2002 Leider hat Lachdanan nicht wirklich recht. Natürlich kann ich von einer Klasse, die virtuelle Funktionen besitzt, ein Exemplar erzeugen. Das liegt aber eher daran, daß virtuelle Funktionen alleine noch keine abstrakte Klasse bedeuten. Um eine abstrakte Klasse zu haben muß man eine "pure virtual function" haben. Und hier imuß man auch noch einmal aufpassen. Sobald ich nur eine pure virtual function habe ist meine Klasse abstrakt. Auch wenn ich ganz "normale" Funktionen in der Klasse definiert habe. HTH Jan PS: #include <iostream> class Animal { public: virtual void move () { std::cout << "move...\n"; } }; class Bird : public Animal { public: void move () { std::cout << "fly...\n"; } }; class AbstractClass { public: void sayHello () { std::cout << "Hello World!\n"; } virtual void doTheBartman () = 0; }; void test ( Animal &animal ) { animal.move (); } int main ( void ) { Animal a; Bird b; test ( a ); test ( b ); AbstractClass ac; //won't work } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.