Wie am besten lernen ?
-
Hallo,
ich bin neu hier und seit ca 2 Jahren Delphi Programmierer
und seit 6 Jahren erfahrener PHP/Mysql Coder.
Jetzt will ich mal mit einer "richtig guten" Sprache coden und zwar C++.Ich hab mir jetzt die Grundlagen aus einem C/C++ Kompendium angeeignet und weiß wie man Variablen,Funktionen,Klassen,Casten,etc. benutzt.
Aber nirgendswo steht wie man z.B. ein Bild auf ein Button lädt oder so.
Meine Frage ist es jetzt wie sind die nächsten Schritte die ich machen sollte?
Anfangen ab jetzt mit der MSDN zu arbeiten und probieren und Tutorials oder mit irgendetwas anderem?
EDIT: Vllt. kann man den Post auch ins C++ Forum verschieben, war mir nicht genau sicher, das sich ja nicht um COding Frage handelt sondern eher allgemein.
mfg
Oggi
-
Ich hab mir jetzt mal paar Sachen angeschaut.
Was würdet ihr mir empfehlen wie ich weiter vorgehen soll.
Win32Api ? also reines win32
oder MFC ?
-
Hallo
Oder nichts von beiden. Von WinAPI würde ich dir komplett abraten. Die MFC ist auch kein c++ der neusten Generation und daher wäre eine Blick hierher genau das richtige für dich: http://www.kharchi.de/cpp_gui.html
chrische
-
Wenn ich deine Aufzählung mal so betrachte, ist es definitiv zu früh für dich mit GUIs anzufangen. Hast du dich schon mit Exceptions, Templates und der STL beschäftigt? Wenn nicht, kommt das erst mal an die Reihe. Insbesondere die STl ist elementarste Grundlage. Und danach wäre es sinnvoll deine OOP Kenntnisse weiter zu vertiefen (Design Patterns und so).
WinAPI muß ich übrigens strikt von abraten. Erstmal ist das C und kein C++ und dann ist das extrem häßlich. Wenn man unter/für Windows entwickelt, sollte man da vielleicht mal reingesehen haben, aber um produktiv zu arbeiten, ist das nichts.
-
Ne mit den Themen kenne ich mich noch nicht so gut aus, ich weiß zwar was Templates und STL heißt, Standard Template Library und das es noch ATL etc. gibt.
Mit Exceptions kenne ich mich etwas aus, halt Exception Handling.
Mit Design Patterns etc. weiß ich momentan nichts mit anzufangen

Mir fehlen halt so selbst die Ideen was ich mit meinem wissen so machen kann, aber irgendwie fehlt halt immer ein anderer teil um das zu verwirklichen.
Also werde ich dann jetzt nochmal genau anschauen:
Exception,Templates(STL),OOPMit WinApi dachte ich sollte ich anfangen, da ich später so in die Richtung gehen möchte mit DeviceIo zu arbeiten oder mit den ASPI Treibern und MMC.
-
So ich hatte mich jetzt mal zurückgelehnt und in meinem buch gelesen.
Also ich liste mal am besten so grob auf was ich bis jetzt insgesamt alles kann, vielleicht könnt ihr mir dann noch bissel so Tipps geben wie es weitergehen soll:
Variablen, Konstanten, Pointer, Arrays, Strukturen, Unions & Datentypen
Gültigkeitsbereiche,Speicherklassen usw.
Namespaces
Typumwandlung (casting)
signed,unsigned (bei datentypen, short und long)
Zuweisungsoperatoren,Vergleiche,Inc/dec,Bitoperatoren,Logische Operatoren
new/delete, Präprozessoroperatoren & Überladung
Klassen, Typdefinitionen usw.
Speicherreservierung (dynamisch)
Kontrollstrukturen(s. Vergleiche, also if,switch/case,for,while,goto Sprünge)
Funktionen (normale und rekursive)
Bibliotheken
Methoden, Instanzierung,Konstruktor/Destruktorneu seit Heute:
Exception Handling
Templates (Funktiontemplates,Klassentemplates) -> sind garnet so übel die Teile es sei denn man lässt den Funktionstyp ebenfalls bestimmen, da kann leicht der Rückgabewrt versaut sein hehewas ich noch nicht kann:
RTTI
Polymorphismus oder sowas *gg*
Streams
Datei Handling
Interrupt-Programmierung & Hooks
OOA,OOD, UMLJetzt nochmal die Frage (Stream u. Datei Handling mach ich morgen, ich will mal das ganze gelehrte in son Phantasieproggi einbauen um zu testen ob alles so sitzt): Was sollte ich jetzt anfangen?
-
Ich würde mir dennoch einen historischen Kurs in Sachen WinAPI und MFC erlauben.
http://www.henkessoft.de/C++/WinAPI/WinAPI Kapitel 1 bis 6/api1.htm
http://www.henkessoft.de/C++/MFC/MFC Tutorials.htmDann kannst Du mit o.g. Link (GUI für C++) weiter sehen, was für Dich am wichtigsten ist.
Aber nirgendswo steht wie man z.B. ein Bild auf ein Button lädt oder so.
http://www.henkessoft.de/C++/MFC/mfc_einsteigerbuch_kapitel14.htm
Wenn Du Dich z.B. auf die MFC einlässt, hast Du große Mengen von Material zur Verfügung. http://www.codeproject.com/cpp/
Nicht zu früh festlegen.
-
Oggi schrieb:
So ich hatte mich jetzt mal zurückgelehnt und in meinem buch gelesen.
Also ich liste mal am besten so grob auf was ich bis jetzt insgesamt alles kann, vielleicht könnt ihr mir dann noch bissel so Tipps geben wie es weitergehen soll:
Variablen, Konstanten, Pointer, Arrays, Strukturen, Unions & Datentypen
Gültigkeitsbereiche,Speicherklassen usw.
Namespaces
Typumwandlung (casting)
signed,unsigned (bei datentypen, short und long)
Zuweisungsoperatoren,Vergleiche,Inc/dec,Bitoperatoren,Logische Operatoren
new/delete, Präprozessoroperatoren & Überladung
Klassen, Typdefinitionen usw.
Speicherreservierung (dynamisch)
Kontrollstrukturen(s. Vergleiche, also if,switch/case,for,while,goto Sprünge)
Funktionen (normale und rekursive)
Bibliotheken
Methoden, Instanzierung,Konstruktor/Destruktorneu seit Heute:
Exception Handling
Templates (Funktiontemplates,Klassentemplates) -> sind garnet so übel die Teile es sei denn man lässt den Funktionstyp ebenfalls bestimmen, da kann leicht der Rückgabewrt versaut sein hehewas ich noch nicht kann:
RTTI
Polymorphismus oder sowas *gg*
Streams
Datei Handling
Interrupt-Programmierung & Hooks
OOA,OOD, UMLJetzt nochmal die Frage (Stream u. Datei Handling mach ich morgen, ich will mal das ganze gelehrte in son Phantasieproggi einbauen um zu testen ob alles so sitzt): Was sollte ich jetzt anfangen?
Liest du das alles nur oder kannst du das auch richtig anwenden?
Ich kenn keinen der Exceptionhandling und templates an einem Tag richtig versteht und einsetzt.
-
Interrupt-Programmierung & Hooks brauchst du erst mal nicht (das gehört sowieo weniger zu C++ und ist mehr low level Zeugs). Streams und Datei Handling würde ich strikt genommen zur STL rechnen.
Polymorphismus ist absolut elementar. Solange du dieses Konzept nicht komplett verstanden hast, erreichst du gar nichts. Und es ist wirklich sehr sinnvoll sich erst mal gründlich mit den Prinzipien des OOP vertraut zu machen, bevor man sich an komplizierte Dinge heranwagt (Design Patterns sind hier wirklich ein gutes Thema um seine Kenntnisse auf diesem Gebiet zu vertiefen).
Wenn du sehr viel Ausdauer hast, kannst du dich nach mit der boost Bibliothek vertraut machen (enthält sehr viel nützliches Zeug, das zum Teil auch Lücken in der STL ausfüllt). Ansonsten kannst du, wenn du das alles drauf hast, durchaus auf sinnvolle Weise mit der GUI programmieren anfangen.
Von WinAPI und auch von MFC würde ich dir zu diesem Zeitpunkt aber strikt abraten. Damit kann man sich später mal ein Bißchen befassen, um seinen Hintergrund zu erweitern. Aber zum Arbeiten nimm lieber ein vernünftiges Framework. Es wurde ja schon ein paar Links gepostet (ich sehe mir gerade SmartWin++ an, scheint recht vielversprechend zu sein).
Edit: Hatte den Teil über DeviceIo/ASPI Treibern usw. übersehen. Von deinem ersten Post her hatte ich den Eindruck, du willst dich nun vor allem mit GUI-Programmierung befassen. Wenn das nicht der Fall ist, kommst du um die WinAPI wohlmöglich nicht herum, obwohl es auch in diesem Fall sinnvoll wäre zu schauen, ob es nicht andere Bibliotheken gibt, die die benötigten Teile der WinAPI für dich Wrappen (direkt mit der WinAPI zu arbeiten ist einfach nur ekelhaft).
-
Hi,
ja das mit der GUI dachte ich wäre erstmal so das grundlegenste bevor ich mit aspi anfange etc das dauert ja noch. Ich habe aber schonmal ne MFC Application gesehen, welche mit ASPI arbeitetete. Da wurden ja die Adaptect Heder eingebunden und die Samples nur auf MFC angepasst.WinApi dachte ich, dass ich lerne wie son Fenster von grund auf aufgebaut ist.
Und zuletzt: Ja ich lese immer son komplettes Buch durch, dann wende ich alles an und wo es hapert da hol ich nach. Templates und Exceptions finde ich nichtmal so schwierig. Besonders Templates sind die einfachsten von beiden nach meiner Meinung. Die größten Basis Sachen kenne ich ja schon von Delphi/Pascal.
Was für eine GUI, neben dieses Smart Dings, würdet ihr mir empfehlen? Momentan hab ich Vc++ Standard Edition.
-
ich habs zwar selbst noch nicht ausprobiert, aber wxwidgets macht auf mich einen sehr guten Eindruck ... auf jeden fall einen Blick wert ...
mfg.