Hab da ne frage zu c++



  • Hi,

    also ich lerne gerade c++. möchte aber auf jedenfall mal darauf hinnaus, "normale windowsanwendungen" mit buttons...zu schreiben...
    das normale c++ bring mir da ja aber nix, weil ja z.B. cout, cin ... garnichtsmehr bringt... lohnt sich da dann überhaupt noch "c++" zu lernen???
    weil die normalen befehle wie ich sie bis jetzt kennen gelernt habe (so sachen wie cout, cin, ...) kann ich ja dann nicht mehr benutzen...???



  • Hi,

    erstmal vorweg: mit C++ kann man natürlich GUIs programmieren. Nur in der Standard-Bibliotek ist sowas nicht impletiert. Es gibt unter C++ verschiedene Wege zur erfolgreichen GUI:
    -Windows API
    -Biblioteken, die evt. die API kapseln.

    Zu den Biblioteken gehört u.A. die MFC, Qt, oder die .Net Biblioteken. Welchen Weg du wählst, bleibt natürlich dir überlassrn. Wobei die API schwerer zu lernen und anwenden ist als die Biblioteken. Aber evt. erzähle ich dir Dinge, die dich garnicht interessieren.



  • nein!du erzählst keinesfalls dinge die mich nicht interresieren!!!



  • Du mußt dir das so vorstellen: C++ selbst kennt kein cout usw. C++ besteht ja aus einer ganz bestimmten Syntax (wo muß ein Semikolon hin? wie definiere ich eine Variable? usw)

    cout z.B. kommt aus einer Bibliothek, die du ja extra eingebunden werden muß. Und das ist der springende Punkt! Du kannst viele weitere Bibliotheken zus. in dein Projekt einbinden, z.B. OpenGL, DirectX, MFC, wxWindows usw.

    Konkret heißt es, du hast mit C++ unendliche Möglichkeiten. Du mußt nur weitere Bibliotheken für dein Projekt suchen, passend zu deinen Anforderungen.

    Es gibt aber halt auch eine Standard-Bibliothek für C++, übergreifend auch STL (Standard Template Library) genannt. Die meisten Compiler-Suiten binden jedoch diese STL autom. mit ein, da man sie eigentlich sowieso benötigt. Deshalb kommt es dir so vor, als ob das alles ist was C++ kann.

    Um jetzt GUI-Programmierung zu betreiben, mußt du dich entscheiden, welche Bibliothek du nutzen willst. Privat entscheidet einfach die Geschmackssache. Ich z.B. nutze gerne www.wxWindows.org welches halt spezielle Klassen für die Anwendungs-Programmierung stellt (für Netzwerk, für Datenbanken usw. und natürlich auch um komplexe GUI!!!)

    Jedoch solltest du auf jeden Fall erstmal C++ lernen, also die Grundlagen! Sonst wirst du mit der GUI-programmierung im Wald stehen. 😉 Und was auch wichtig ist: lerne auch die STL! Da sind seeeehr viele weitere nützliche Dinge drin, die meisten Leute scheitern an gutem C++, weil sie die STL nicht gut genug kennen.



  • Also ich denke als Anfänger sollte man sich die STL (std::string mal ausgenommen) erst vornehmen wenn die wichtigsten Sprachkonstrukte sitzen. Sonst steht man damit schön im Wald.



  • Naja. vector ist auch nicht schwerer als das, was manche Leute da mit new[] veranstalten... 🙂



  • Wenn deine Intention ist Klickibunti Programme zu schreiben, dann lern Objekt Pascal (Delphi) oder Visual Basic. Wenn du dann reif bist für richtiges programmieren, kehrst du früher oder später eh zu C++ zurück.



  • kingruedi schrieb:

    Wenn deine Intention ist Klickibunti Programme zu schreiben, dann lern Objekt Pascal (Delphi) oder Visual Basic. Wenn du dann reif bist für richtiges programmieren, kehrst du früher oder später eh zu C++ zurück.

    Toll! Und er hat dann wichtige Zeit seines Lebens mit Pascal verschwendet, um festzustellen, das er doch wieder zu C++ zurück soll?



  • Nur wenn er richtig programmieren will. Für Klicki-Bunti kann er ewig mit Objekt-Pascal arbeiten. Außerdem ist die Zeit nicht verschwendet. Es schadet nie, wenn man mehr als eine Programmiersprache kann (es schadet eher wenn nicht!). Wer wirklich programmieren will, lernt eh mehrere Sprachen.



  • Hi,

    ich denke, es ist egal, mit welcher Sprache man beginnt. Es sollte aber schon eine OO Sprache sein. C++ ist villeicht nicht die "optimale" Sprache für Anfänger. Vor allem wenn man schnell GUIs programmieren will, ist es sinnvoll eine Sprache zu lernen, in die die GUI Programmierung gleich "eingebaut" ist (z.B. VB) Dann kann man schonmal die grunds. OO-Elemente lernen, und dann mit einer Sprache wie C++ weitermachen.



  • Ich finde, du solltest erstmal gut C++ lernen. Vielleicht ein Buch drüber kaufen.
    Das sind am Anfang Konsolenanwendungen, also keine ecte GUI.
    Wenn du dann C++ so einigermaße beherscht, kannst du ja nach ein paar tutorials zu den obigen Bibliotheken suchen und durchsehen. Wenn du dann eine API gefunden hast die dir gefällt, dann kannst du mit der (Windows) GUI programmierung unter C++ anfangen.

    Machs aber nicht so wie unsere Lehrer in der Schule:

    2 Jahre "gemütlich" C lehren, also die allerersten Grundlagen (keine pointer, ...).
    Und dann im 3.Jahr sofort mit dem C++ Builder Windows Programme schreiben.

    da sollten vorher die Grundlagen schon da sein.

    Meine Meinung.



  • Wenn deine Intention ist Klickibunti Programme zu schreiben, dann lern Objekt Pascal (Delphi) oder Visual Basic. Wenn du dann reif bist für richtiges programmieren, kehrst du früher oder später eh zu C++ zurück.

    Woher dein Hass auf Object Pascal? Ich finde man kann es zu mehr, als Klickibunti progrämmchen gebrauchen.



  • Woher dein Hass auf Object Pascal?

    Ich hab kein Hass gegenüber Object Pascal (ich finde die Syntax zwar schrecklich...). Ich finde nur, man kann damit deutlich leichter Klicki-Bunti Programme schreiben.



  • @Jover
    ich hab 2 Bücher über C++ schon gelsen (easy C++ und Jetzt lerne ich C++)
    ich kaufe mir jetzt noch das buch C/C++ - Kompendium . Professionell programmieren mit aktuellen Standardsvon Dirk Louis
    ...

    auf Pascal und VB hab ich eigentlich keinen bock...ich muss eh ne Programmiersprache lernen (mache Ausbildung zum Fachinformatiker) und da will ich gleich was "richitges" lernen, auch wenn schwieriger ist...



  • @cenorider
    Objekt Pascal und VB sind richtige Programmiersprachen. Und die sind für deine Zielsetzung eben viel besser geeignet. C++ ist eben eigentlich nicht dafür entworfen worden Windows Fenster zu erstellen, sondern für komplexer Aufgaben.



  • @kingrueedi
    jo schon klar das das richitge Programmiersprachen sind!!!halte trotzdem ned viel davon 😉

    hab auch den folgenden thread von $oldier gelesen...darin empfiehlst du ja GTKmm... jetzt mal eine Frage dazu... was ist die sinvollste methode um mit buttons zu arbeiten? oder besser gesagt die einfachste (in c++!!!) WinApi, MFC, GTkmm...???



  • GTKmm. Die WinAPI ist C und die MFC ist kein schönes C++ und du brauchst den MSVC dazu (oder den BCB, aber weiss nicht wie gut der MFC kann) und die MFC ist AFAIK ein Auslauf Modell von MS.



  • ok danke... dann werd ich jetzt auf jedenfall erst mal ne zeit lang konsolenanwendungen proggen und irgend wann im nächsten jahr dann mit gtkmm anfangen.


Anmelden zum Antworten