Anfängerfragen 2 und 3: Memberfunktionsdeklaration ... = 0 ?? / gutes C++ Tutorial online?
-
Hi erneut
1. Problem: Memberfunktionsdeklaration ... = 0; <-- ?
Ich finde hier in C++ Sourcen (Header-Dateien) haufenweise Deklarationen von Memberfunktionen die für mich aus unerfindlichen Gründen auf:... = 0;
... enden. Beispiel:
class IGUIEnvironment : public IUnknown { public: virtual void drawAll() = 0; virtual bool hasFocus(IGUIElement* element) = 0; // ...
Ähh ..., welchen Sinn mag es machen einer _Funktion_ den Wert 0 zuzuweisen, sei sie vom Wert bool oder gar void oder sonst was?
2. Problem: gutes Online-Tutorial für C++ ?
Um Euch hilfreichen Geistern meine öden Anfängerfragen zu ersparen ...
kann mir jemand ein gutes _aktuelles_ C++ Online-Tutorial empfehlen? Die Sprache darf Deutsch oder Englisch sein. Mir geht es vor allem um Grammatik/Syntax von C++ [aktueller ANSI-Standard - welcher ist das?] und seinen Unterschieden gegenüber C bzw. _sehr_ frühen C++ Versionen (prä 1993). Ich bin sowohl mit objektorientierten Mechanismen (von Eiffel, Java, Delphi) vertraut und - ja, programmieren kann ich auch schon
Leider komme ich bis nächsten Dienstag an keinem Buchladen mehr vorbei und müsste mich bis dahin in C++ einlesen (== Sourecodes verstehen).Ich wäre schon mit einer aktuellen C++ Grammatik in Backus-Naur-Notation zufrieden. Ersatzweise täten es auch die YACC/Bison Sourcen eines aktuellen C++ Compilers ...
Vielen lieben Dank im Voraus
AymanEdit1: Hab 'ne C++ Grammatik von 1997 gefunden
Problem 1 ist aber noch nicht gelöst ...
-
Hallo
1. Das "= 0" ist kein Rückgabewert, sondern in Zusammenhang mit dem virtual zu sehen. Das heißt, das die Funktion für die angegebene Klasse zwar deklariert ist, aber nicht implementiert wird. Das muß eine abgeleitete Klasse machen. Von einer Klasse mit einer oder mehreren solchen abstrakten Funktionen kann man dann auch keine Instanzen erzeugen.
2. Oben in der Titelleiste des Forums ist ein Bereich Tutorial.
bis bald
akari
-
Zu Punkt 1: Stichwort Abstrakte Klassen
Zu Punkt 2: http://www.c-plusplus.net/cms/modules.php?op=modload&name=Downloads&file=indexEdit: Zu lahm...
-
sehr gutes c++ tut: http://www.cpp-tutor.de
-
@akari, PuppetMaster2k:
"= 0;" macht aus der Dekl. eine abstakte Memberfunktionsdeklaration - cool- damit wäre das geklärt!
@akari, PuppetMaster2k, enno-tyrant:
Ich dank' Euch für die Links! Das sollte mir weiterhelfen
... außerdem hab ich ja jetzt meine EBNF-Grammatik.Erneut: Dieses Forum glänzt durch außergewöhnlich hilfreiche User!
Besten Dank und noch nen schönen Abend
Ayman
-
gut ist auch:
http://courses.iicm.edu/programmierpraktikum/skriptum/SoftwareentwicklungInCplusplusTwoPagesOnOne.pdfcu
-
@cplusplus_
gut ist auch:
Softwareentwicklung In C++ (Zwei Seiten auf einer) - PDF-DateiDieses Buch ist großartig geschrieben (mal wieder Springer Verlag). Toll, dass es sowas online gibt
Vielen herzlichen Dank
Ayman
-
ich kann dir auch noch empfehlen da mal rein zu schauen:
/////// C++ ///////
http://cplus.kompf.de/
http://www.cpp-tutor.de/cpp/toc.htm
http://tutorial.schornboeck.net/inhalt.htm
http://cplus.about.com/library/blcplustut.htm
http://www.volkard.de/vcppkold/inhalt.html
http://www.inf.fu-berlin.de/lehre/kurse/cplusplus/Skript.book.html
http://www.math.uni-wuppertal.de/%7Eaxel/skripte/oop/oop.html
http://www.inf.fu-berlin.de/lehre/kurse/cplusplus/Skript.book.html
http://de.geocities.com/throni3/
http://www.tutorialpage.de/Cpp2/index.php
http://www.baldenheid.org/cpp/
http://ladedu.com/cpp/
http://www.xraylith.wisc.edu/~khan/software/stl/STL.newbie.htmlcu
-
Das hier sind die 2 besten Tutoriale:
http://tutorial.schornboeck.net/inhalt.htm
http://fara.cs.uni-potsdam.de/~kaufmann/?page=StartseiteMfG CSS
-
akari schrieb:
Das "= 0" ist kein Rückgabewert, sondern in Zusammenhang mit dem virtual zu sehen. Das heißt, das die Funktion für die angegebene Klasse zwar deklariert ist, aber nicht implementiert wird.
Das ist so nicht ganz korrekt: Die Methode kann durchaus auch implementiert sein. Ein Derstruktor muß zum Beispiel immer implementiert sein. Richtig ist allerdings, daß jeder der davon erbt und instaziierbar sein will eine solche Methode implementieren muß,
MfG Jester