C++ GUI-Problem



  • Kannst du mal ein Beispiel bringen mit dem new[] ?

    http://en.wikipedia.org/wiki/New_(C%2B%2B)

    Was meinst du bei 2.? Es ist doch egal, wie ich meine Klassen nenne, oder? es sind doch nur Namen.

    Er meint wahrscheinlich das du deine Klasse nicht mit einem "_" beginnen sollst, weil die Präprozessoranweisungen meistens so beginnen.



  • ja, nur dann erstell ich ja ein komplett neues Array. Ich will aber das vorhandene nur erweitern.

    Ich kann sehr wohl korrekte Programme schreiben! Nur lerne ich gerade C++, weil ich vorher nur in C programmiert habe!



  • ChristophLu schrieb:

    ja, nur dann erstell ich ja ein komplett neues Array. Ich will aber das vorhandene nur erweitern.

    Ich schreibs jetzt zum dritten und letzten mal: Lies ein Tutorial und lerne, wie Standardcontainer funktionieren.

    ChristophLu schrieb:

    Ich kann sehr wohl korrekte Programme schreiben!

    Ich rede von C++, und da bist du noch ein gutes Stück davon entfernt.

    Nur lerne ich gerade C++, weil ich vorher nur in C programmiert habe!

    Das sieht man. Wenn du kannst, versuch dein Wissen über C nicht nach C++ zu übertragen. In C++ macht man so ziemlich alles anders und C-Techniken sind da nur hinderlich.



  • ChristophLu, für Konstruktoren solltest du die Initialisierungsliste verwenden:

    gui::gui() : number(0), elems(NULL), isElementActive(false), ActiveElementId(-1)
    { 
    }
    

    Wie du siehst, brauchst du auch die Klassenzugehörigkeit nicht (bzw. nur in Zweifelsfällen) anzugeben, solange du dich innerhalb von Memberfunktionen der Klasse befindest. Aber ich würde dir auch raten, ein gutes C++-Buch zu kaufen und C++ nochmals von vorne neu zu beginnen. Das bringt mehr, als wenn du verkrampft versuchst, dein C in C++ anzuwenden.

    Registrierter Troll schrieb:

    Das sieht man. Wenn du kannst, versuch dein Wissen über C nicht nach C++ zu übertragen. In C++ macht man so ziemlich alles anders und C-Techniken sind da nur hinderlich.

    Wäre ein gutes Beispiel für die Diskussion von neulich...



  • @ChristophLu's Code

    Es                              wäre
    lustig                          wenn
    du                             sehen
    könntest                         wie
    deine                          Augen
    behindert                        von
    links                           nach
    rechts                        hüpfen
    


  • sieht nämlich JS style aus. bist wahrscheinlich voll der JS freak was



  • Habt ihr Langeweile? Das einzige, was bei ChristophLus Code vielleicht anzumerken ist, sind die etwas grossen Einrückungen. Aber wenigstens hat er konsequent eingerückt, die CPP-Tags richtig verwendet und seinen Code auch sonst recht übersichtlich gestaltet. Ihr könntet eure Kommentare lieber für die Leute sparen, die es nach fünfmaliger Aufforderung immer noch nicht schaffen, Code anständig zu formatieren.



  • Was war an meinem Kommentar so schlimm ? Ich denke es war verständlich genug das er es mit der Einrückung nicht ganz so übertreiben soll. Ich dachte "wo is der Rückgabetyp für createElement?". 3 Tabulator weiter hinten hab ich ihn dann gefunden. Immer 2 Tabulator für Einrückung muss net sein. Was macht er denn wenn er mal eine kompliziertere Verschachtelung schreiben muss ? 2 Minuten lang nach rechts scrollen?
    Klar, der code ist so okay und er hat die Einrückung immer eingehalten. Bei den Funktionen ist es nicht ma so schlimm, aber die Klasse find ich schlimm.



  • Also ich persönlich finde die Einrückungen nicht übertrieben und äußerst leserlich. Mag vielleicht sein, das sie in eureim Browser anders angezeigt werden...

    Zudem hab ich immer noch das Problem mit dem Instanz-Array. Einfach nur ein dynamisches(!) Array anzulegen/erweitern/löschen, welches die Instanzen von _gui_element( ja, die Klassen habe ich in der zwischenzeit umbenannt ) speichert.

    Anlegen erscheint mir einfach:

    _gui_element *elems;
    

    Außerdem noch das löschen:

    delete [] elems;
    

    Nur wie kann ich das um ein Element erweitern?



  • ChristophLu schrieb:

    Nur wie kann ich das um ein Element erweitern?

    Indem du die Ratschläge befolgst und mit STL-Containern arbeitest. Dynamische Arrays kannst du in C++ nicht "erweitern" (statische erst recht nicht).


Anmelden zum Antworten