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!
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
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;
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.
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!
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:
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!
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 }
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden