Wie soll man anfangen C++ zu lernen?



  • Hallo 🙂

    Zuerst hoffe ich mal das ich in diesem Forum richtig bin, benutze nämlich Linux, bzw Ubuntu 6.10.

    Ich hab mir vorgenommen C++ zu lernen, allerdings weiss ich nicht wirklich wie ich genau anfangen soll. Die Tutorials die ich gefunden/teils gelesen hab, sind eben leider für Windows. Soll ich lieber mit Büchern oder Tutorials lernen?

    Also Hauptsächlich will ich kleine Jump & Runs programmieren, aber auch andere Anwendungen. Sie sollen eben auf Windows und Linux laufen, dass muss ja unterschiedlich gemacht werden, da Linux ja keine exe dateien öffnen kann (außer eben mit wine etc.).

    Ich hab mir diese ganzen KDevelop programme installiert. Doch was mach ich mit denen genau? Ich weiss leider nicht welches das richtige Programm ist, also welches ich davon benutzen soll.

    Die hier hab ich:

    KDevelop-Assistant
    KDevelop-C/C++
    KDevelop Designer
    KDevelop KDE/C++
    KDevelop: Mehrsprachenunterstützung
    KDevelop: Ruby
    KDevelop: Skripten

    Der Designer ist wohl für Bilder *g* Vom Rest weiss ich leider nicht welches ich benutzen soll.

    Also wäre dankbar für Tipps 🙂

    Nachtrag: Ich hab hier noch en altes Buch rumliegen, das heißt "C Programmieren von Anfang an". Macht das en großen Unterschied obs C oder C++ ist?
    Danke *g*



  • Ich schätze mal, du hast den GCC-C++-Compiler (g++) installiert.

    Nimm einfach erstmal einen Texteditor und tipp deine Programme dort (z.B. mit Kate oder was es sonst noch so gibt).

    Erstell zum Beispiel die Datei hw.cpp:

    #include <iostream>
    using namespace std;
    
    int main (int argc, char* argv[]) 
    {
       cout<<"Hello World"<<endl;
    
       return 0;
    }
    

    Aus der hw.cpp erstellst du ein Programm mit folgenden befehlen in der Console.

    cd <Verzeichnis in dem die Datei hw.cpp liegt>
      g++ -o hw hw.cpp
    

    Das erstellt das Programm hw. Starten kannst du es dann in der Console mit

    ./hw
    

    Mit den Informationen solltest du erstmal in der Lage sein, die Grundlagen-Tutorials durchzuarbeiten.



  • Maddy schrieb:

    Hallo 🙂
    Nachtrag: Ich hab hier noch en altes Buch rumliegen, das heißt "C Programmieren von Anfang an". Macht das en großen Unterschied obs C oder C++ ist?
    Danke *g*

    1.) wenn du c++ programmieren willst soll es auch c++ sein, c++ ist nämlich im großen und ganzen schon anders als c

    2.) Vllt. hilft dir wenn ich dir sage wie ich angefangen habe(zwar auf windows weil ich damals noch ein Otto-Normal-Da-User war, aber heute progge ich auf beiden Systemen)

    Also: Als erstes hab ich mir das buch "Easy C++" von Dirk Luis gekauft und mit den Grundlagen angefangen
    nachdem ich das Buch durch hatte hab ich ein zwei Progs geschrieben um mein wissen zu festigen
    danach habe ich mir das buch "C++ von A-Z" von Jürgen Wolf zugelegt und wieder 'von anfang an' angefangen, da das Buch am anfang ziemlich gleich wie das erste ist, aber dieses Buch deckt ziemlich viel ab.
    Nach dem ich ja schon im 2ten Buch mit den Grundlagen der STL angefangen habe habe ich mir ein andres Buch über die STL gekauft und mir ein paar Tutorials über andre Themen durchgelesen,
    um dann mein wissen über GUI zu erweitern (wird zt schon im 2ten Buch behandelt) habe ich mir auch hierüber ein Buch gekauft und es gelesen
    danach habe ich auch noch etwas Netzwerkprogrammierung (Wird auch im 2ten Buch behandelt) gemacht
    und zur Zeit arbeite ich an verschiedenen Programmen die ein Freund in auftrag gegeben hat(grig natürlich zasta dafür) 😃

    zusagen ist aber dass ich dafür wesentlich länger als einen Monat gebraucht habe also nimm dir ordentlich Motivation und Ausdauer auf deinen Programmier-(leidens)weg mit

    hoffe das hilft dir!

    mfg Digger182 🙂



  • Maddy schrieb:

    Also Hauptsächlich will ich kleine Jump & Runs programmieren, aber auch andere Anwendungen. Sie sollen eben auf Windows und Linux laufen, dass muss ja unterschiedlich gemacht werden, da Linux ja keine exe dateien öffnen kann (außer eben mit wine etc.).

    C++ programme, die auf unterschiedlichen systemen laufen sollen und mehr können als nur ein paar textausgaben sind sehr schwierig zu entwickeln. man muss höllisch aufpassen damit der code auch wirklich portabel bleibt (es geht schon mit pfadangaben und steuerzeichen für die console los) und/oder man halst sich den overhead riesiger komplexer libraries auf (boost, ect.). als einsteiger würde ich dir empfehlen: konzentrier' dich erstmal auf C++ und dein betriebssystem und erst wenn du einigermassen sattelfest in C++ bist dann wage dich an portablen code ran...
    🙂



  • Hallo 🙂

    ProgChild schrieb:

    Ich schätze mal, du hast den GCC-C++-Compiler (g++) installiert.

    Nimm einfach erstmal einen Texteditor und tipp deine Programme dort (z.B. mit Kate oder was es sonst noch so gibt).

    Erstell zum Beispiel die Datei hw.cpp:

    #include <iostream>
    using namespace std;
    
    int main (int argc, char* argv[]) 
    {
       cout<<"Hello World"<<endl;
    
       return 0;
    }
    

    Aus der hw.cpp erstellst du ein Programm mit folgenden befehlen in der Console.

    cd <Verzeichnis in dem die Datei hw.cpp liegt>
      g++ -o hw hw.cpp
    

    Das erstellt das Programm hw. Starten kannst du es dann in der Console mit

    ./hw
    

    Mit den Informationen solltest du erstmal in der Lage sein, die Grundlagen-Tutorials durchzuarbeiten.

    Hey danke das ging 🙂 Werd mich dann gleich mal an die Tutorials wagen 🙂 Leider kann ich mit dem was du da geschrieben hast eben noch nicht viel anfangen. Das "Hello World" ist klar, das include ist wohl für einfügen gedacht *g* Aber werds noch lernen 🙂

    Danke

    Digger182 schrieb:

    Maddy schrieb:

    Hallo 🙂
    Nachtrag: Ich hab hier noch en altes Buch rumliegen, das heißt "C Programmieren von Anfang an". Macht das en großen Unterschied obs C oder C++ ist?
    Danke *g*

    1.) wenn du c++ programmieren willst soll es auch c++ sein, c++ ist nämlich im großen und ganzen schon anders als c

    2.) Vllt. hilft dir wenn ich dir sage wie ich angefangen habe(zwar auf windows weil ich damals noch ein Otto-Normal-Da-User war, aber heute progge ich auf beiden Systemen)

    Also: Als erstes hab ich mir das buch "Easy C++" von Dirk Luis gekauft und mit den Grundlagen angefangen
    nachdem ich das Buch durch hatte hab ich ein zwei Progs geschrieben um mein wissen zu festigen
    danach habe ich mir das buch "C++ von A-Z" von Jürgen Wolf zugelegt und wieder 'von anfang an' angefangen, da das Buch am anfang ziemlich gleich wie das erste ist, aber dieses Buch deckt ziemlich viel ab.
    Nach dem ich ja schon im 2ten Buch mit den Grundlagen der STL angefangen habe habe ich mir ein andres Buch über die STL gekauft und mir ein paar Tutorials über andre Themen durchgelesen,
    um dann mein wissen über GUI zu erweitern (wird zt schon im 2ten Buch behandelt) habe ich mir auch hierüber ein Buch gekauft und es gelesen
    danach habe ich auch noch etwas Netzwerkprogrammierung (Wird auch im 2ten Buch behandelt) gemacht
    und zur Zeit arbeite ich an verschiedenen Programmen die ein Freund in auftrag gegeben hat(grig natürlich zasta dafür) 😃

    zusagen ist aber dass ich dafür wesentlich länger als einen Monat gebraucht habe also nimm dir ordentlich Motivation und Ausdauer auf deinen Programmier-(leidens)weg mit

    hoffe das hilft dir!

    mfg Digger182 🙂

    Hallo 🙂

    Ich benutz auch erst seit etwa 2 Monaten ubuntu *g* Wollte eigentlich damals einfach nur formatieren und Windows neu drauf machen, aber einer meinte ich solle mir doch einfach mal ubuntu anschauen, und seit dem hab ichs drauf *g*

    Danke für die Buchtipps, werde mal schauen das ich auch an die Bücher komme. Was hast du denn für 2 Programme geschrieben? Also nach dem du das 1. Buch fertig hattest? 😉 Aufwendige oder eher einfache?

    Motivation hab ich genug und Ausdauer auch 🙂 Ich hab eigentlich eher angepeilt das ich gut 1 Jahr brauchen würde, aber wenn du schreibst das du wesentlich länger als ein Monat gebraucht hast, dann gehts vielleicht doch ein bisschen schneller 🙂

    Ja danke, hast mir sehr geholfen 🙂

    Gruß



  • Also die drei(hab mich vorher vertan) Programme waren:
    -Ein Taschenrechner, bei dem haste aber immer nur was mit zwei Zahlen machenkönnen und du musstest vorher noch auswählen was du machen willst

    -ein Lotto, ganz simple Knsolenanwendung

    -Ein Zahlenratespiel bei dem der PC eien zahl wählt und du sie eraten musst er sagt dir immer ob die gesuchte Zahl größer oder kleiner als deine eingabe war

    waren aber alles Konsolenanwendungen

    Maddy schrieb:

    Motivation hab ich genug und Ausdauer auch 🙂 Ich hab eigentlich eher angepeilt das ich gut 1 Jahr brauchen würde, aber wenn du schreibst das du wesentlich länger als ein Monat gebraucht hast, dann gehts vielleicht doch ein bisschen schneller 🙂

    das glaub ich dir gerne aber mit deiner Vermutung liegst du richtig ich habe für das da oben etwas mehr als ein Jahr gebraucht.

    Noch schnell ein kleiner c++ crashkurs:

    //Das ist ein Kommentar es wirkt sich nicht auf den Code aus weil es gelöscht wird
    #include <iostream>  //Damit bindest du 'iostream' ein das ist eine headerdatei die brauchst du zb für cout du kannst sie dir ja mal anschauen müsste in einem Ordner deines Compilers sein
    using namespace std; //damit ist das namespace 'std' bis zum ende des progs gültig, es ist dafür da dass du zb nicht immer std::cout schreiben musst
    
    int main (int argc, char* argv[]) //Eine funktion die jedes c++ prog haben muss die parameter sind aber überflüssig(0das was in den runden Klammern steht)
    {
       cout<<"Hello World"<<endl; //cout gibt Hello World aus und endl bedeudet soviel wie end of line das heißt wenn du noch eine Ausgabe machst die in der nächsten Zeile erscheint und nicht daneben
    
       return 0; //damit lässt du dein prog 0 zurückgeben was (zumindest unter Windows unter linux weiß ich nicht) bedeutet dass es keine fehler gab 
    }
    


  • vista schrieb:

    C++ programme, die auf unterschiedlichen systemen laufen sollen und mehr können als nur ein paar textausgaben sind sehr schwierig zu entwickeln. man muss höllisch aufpassen damit der code auch wirklich portabel bleibt (es geht schon mit pfadangaben und steuerzeichen für die console los) und/oder man halst sich den overhead riesiger komplexer libraries auf (boost, ect.). als einsteiger würde ich dir empfehlen: konzentrier' dich erstmal auf C++ und dein betriebssystem und erst wenn du einigermassen sattelfest in C++ bist dann wage dich an portablen code ran...
    🙂

    Stimmt so nicht. Wenn man sich (was bei einem Linuxer ja nicht ungewöhnlich ist) von Anfang an z.B. an GTKmm gewöhnt um GUIs zu schreiben kann man dieses Wissen später auch auf Windows einsetzen und wenn er Jump'n'Runs machen will wird er wahrscheinlich SDL nehmen, was ja auch plattformübergreifend ist.

    Gruß



  • Hallo 🙂

    Ein Taschenrechner hatte ich mir grad eben auch schon überlegt *g*

    Seit wann programmierst du denn schon? Also wieviele Jahre? 😉 Wie oft hast denn am Anfang "geübt"?

    Danke für die Erklärung 🙂 mit den // zu arbeiten ist es glaub echt geschickt, da man später alles besser wiederfindet *g*

    Gruß



  • basti33 schrieb:

    Wenn man sich (was bei einem Linuxer ja nicht ungewöhnlich ist) von Anfang an z.B. an GTKmm gewöhnt um GUIs zu schreiben kann man dieses Wissen später auch auf Windows einsetzen und wenn er Jump'n'Runs machen will wird er wahrscheinlich SDL nehmen, was ja auch plattformübergreifend ist.

    Trotzdem wäre es besser, die C++-Grundlagen mal vernünftig zu lernen, bevor man mit irgendwelchen GUI-Frameworks anfängt.

    Naja, ich verschiebe Euch mal; wenn Ihr konkrete Fragen habt, könnt Ihr ja einen frischen Thread aufmachen.

    Oh, noch ein Tip an den OP:
    Die mit Abstand besten C++-Bücher für Anfänger sind IMHO "Thinking In C++ 1&2":
    http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html



  • Dieser Thread wurde von Moderator/in nman aus dem Forum Linux/Unix in das Forum Beruf und Ausbildung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • nman schrieb:

    basti33 schrieb:

    Wenn man sich (was bei einem Linuxer ja nicht ungewöhnlich ist) von Anfang an z.B. an GTKmm gewöhnt um GUIs zu schreiben kann man dieses Wissen später auch auf Windows einsetzen und wenn er Jump'n'Runs machen will wird er wahrscheinlich SDL nehmen, was ja auch plattformübergreifend ist.

    Trotzdem wäre es besser, die C++-Grundlagen mal vernünftig zu lernen, bevor man mit irgendwelchen GUI-Frameworks anfängt.

    Naja, ich verschiebe Euch mal; wenn Ihr konkrete Fragen habt, könnt Ihr ja einen frischen Thread aufmachen.

    Oh, noch ein Tip an den OP:
    Die mit Abstand besten C++-Bücher für Anfänger sind IMHO "Thinking In C++ 1&2":
    http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

    Und das hab ich vor 🙂 Wenn ich C++ ja einigermaßen kann, dann guck ich wie ich weiter mach, aber erstmal für Linux eben 🙂



  • nman schrieb:

    Trotzdem wäre es besser, die C++-Grundlagen mal vernünftig zu lernen, bevor man mit irgendwelchen GUI-Frameworks anfängt.

    Das ist mir schon klar. Ich wollte nur sagen, dass es sehr wohl relativ einfach möglich ist plattformübergreifende Anwendungen, die

    vista schrieb:

    mehr können als nur ein paar textausgaben

    zu erstellen. Oder sind GTKmm und Qt etwa schwerer als die WinAPI?



  • basti33 schrieb:

    Oder sind GTKmm und Qt etwa schwerer als die WinAPI?

    winapi ist zwar unübersichtlich, aber es sind einfach nur C-funktionen.



  • vista schrieb:

    basti33 schrieb:

    Oder sind GTKmm und Qt etwa schwerer als die WinAPI?

    winapi ist zwar unübersichtlich, aber es sind einfach nur C-funktionen.

    Das macht es doch nicht leichter. Ich glaube ein Anfänger kann schneller GTKmm oder Qt benutzen, als die WinAPI



  • Hallo

    Was ist denn GTKmm oder Qt? *g* Sind das Programme für die Grafische Oberfläche oder wie?

    Gruß



  • Maddy schrieb:

    Hallo 🙂

    Ein Taschenrechner hatte ich mir grad eben auch schon überlegt *g*

    Seit wann programmierst du denn schon? Also wieviele Jahre? 😉 Wie oft hast denn am Anfang "geübt"?

    Danke für die Erklärung 🙂 mit den // zu arbeiten ist es glaub echt geschickt, da man später alles besser wiederfindet *g*

    Gruß

    Falls das auf mich bezogen war:

    Ich habe mit C++ angefangen zu programmieren und dass ist so ca. 1 Jahr her

    noch was, die // dienen dazu schwierige stellen im code besser verständlich zu machen (meist für andre)

    Hab grade noch was gefunden: Ich habe mal einen Umrechner gemacht er rechnet zwischen den Zahlensystemen um zuerst hab ich ihn in gaaaanz einfachen c++ geschrieben über die wochen und monate hinweg habe ich ihn dann immer verbessert und jetzt wird er dann anwendung in einem editor für einen Freund finden

    Der Umrechner war und ist meine Übung ich habe ihn immer besser gemacht und heute kann er mehr als nur Umrechnen er hat eine GUI verliehen bekommen er kann Binärzahlen addieren und natürlich auch andre Rechenoperationen Durchführen dass ist dann aber schon wieder eine andre Version(ich hab eine die nur umrechnet und einen 'Allrounder')



  • Digger182 schrieb:

    Maddy schrieb:

    Hallo 🙂

    Ein Taschenrechner hatte ich mir grad eben auch schon überlegt *g*

    Seit wann programmierst du denn schon? Also wieviele Jahre? 😉 Wie oft hast denn am Anfang "geübt"?

    Danke für die Erklärung 🙂 mit den // zu arbeiten ist es glaub echt geschickt, da man später alles besser wiederfindet *g*

    Gruß

    Falls das auf mich bezogen war:

    Ich habe mit C++ angefangen zu programmieren und dass ist so ca. 1 Jahr her

    noch was, die // dienen dazu schwierige stellen im code besser verständlich zu machen (meist für andre)

    Hab grade noch was gefunden: Ich habe mal einen Umrechner gemacht er rechnet zwischen den Zahlensystemen um zuerst hab ich ihn in gaaaanz einfachen c++ geschrieben über die wochen und monate hinweg habe ich ihn dann immer verbessert und jetzt wird er dann anwendung in einem editor für einen Freund finden

    Der Umrechner war und ist meine Übung ich habe ihn immer besser gemacht und heute kann er mehr als nur Umrechnen er hat eine GUI verliehen bekommen er kann Binärzahlen addieren und natürlich auch andre Rechenoperationen Durchführen dass ist dann aber schon wieder eine andre Version(ich hab eine die nur umrechnet und einen 'Allrounder')

    Hallo 🙂

    Ja war auf dich bezogen 🙂 Ich häng mich dann auch mal rein 🙂 Hab mir das eine Buch schon beschafft 🙂

    Gruß



  • welches denn??

    Falls C++ von A-Z besorg dir ne IDE die die dabei ist ist zu alt und wird nie aktuallisiert wenn aber Easy C++ nimm die IDE falls sie auf Linux Läuft die ist meiner meinung nach gut für dich geeignet 😉



  • Besorg dir C++ von A-Z !!!! Einfach nur geil.



  • mikey schrieb:

    Besorg dir C++ von A-Z !!!! Einfach nur geil.

    meine Meinung 👍


Anmelden zum Antworten