- LiFePO4 Speicher Test         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 26 von 26

Thema: Public variable erst später initialisieren

  1. #21
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    30
    Beiträge
    656
    Anzeige

    Powerstation Test
    Ok, jetzt verstehe ich, was du vorhast und auch, was du mit den Buttons gemeint hast.

    Du könntest nun für alle Programme je eine Klasse schreiben, die die entsprechenden Methoden und Variablen enthält. Zusätzlich könntest du noch eine Application-Manager schreiben, die die vrschiedenen Apps verwaltet und eine Basis-Klasse, von der alle Programmklassen abgeleitet werden und die Daten enthält, die bei allen Programmen vorhanden sein müssen (also z.B. Name,...). Ansonsten könntest du mit Funktionszeigern arbeiten. Du solltest aber wirklich wissen, wie Vererbung und Funktionszeiger in C++ funktionieren und ob das alles von deinem Compiler unterstützt wird.
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

  2. #22
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.05.2009
    Beiträge
    118
    Ja, das mit den mehreren Klassen und dem App-Manager war ja auch so gemeint. Und somit sollte es doch auch möglich sein, damit Speicher zu sparen.
    Jetzt ist halt die Frage, wie das geht. Wie schon gesagt, ich bin noch nicht all zu vertraut mit C++.

    Das ist jetzt vielleicht etwas zu viel verlangt, aber:
    Kannst du mir (oder auch jemand anderes) das Grundgerüst, also nur wie die Klassen aussehen müssten und wie ich diese dann während der Laufzeit laden kann.

    Gibt es gute Links zu speziell den Themen die hierfür benötigt werden?

    MfG
    C_Classic

  3. #23
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.05.2009
    Beiträge
    118
    So. Habe mich jetzt ein paar Tage damit beschäftigt, bin jedoch zu keiner wirklichen Lösung gekommen.

    Wie schaffe ich es Klassen zur Laufzeit zu erstellen, die dann von anderen Funktionen (oder wenigstens außerhalb des If-Blocks) zugreifbar sind? Gibt es wirklich keine Möglichkeit Variablen/Klassen nachträglich als public zu definieren. Also das Löschen am Ende des Blocks/Der Funktion zu verhindern.
    Bei Qt z.B. habe ich die Möglichkeit, eine Klasse (also ein UI-Element) in einer Funktion zu erstellen und anschließend einer anderen Klasse hinzuzufügen. Danach ist das Element auf der Form und auch aus anderen Funktionen zugreifbar.

    Mfg,
    C_Classic

  4. #24
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    30
    Beiträge
    656
    Wie wärs mit new und delete?

    http://en.wikipedia.org/wiki/New_(C%2B%2B)
    http://www.willemer.de/informatik/cpp/dynamic.htm
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

  5. #25
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.05.2009
    Beiträge
    118
    Könnte klappen, jedoch nicht unbedingt auf dem AVR. Ich habe gerade folgenden Codeschnipsel für new und delete:
    Code:
    void * operator new(size_t size) 
    { 
      return malloc(size); 
    } 
    
    void operator delete(void * ptr) 
    { 
      free(ptr); 
    }
    Dieser unterstützt jedoch keine Arrays. Kann ich den Operator für Array auch noch irgendwie hinzufügen?

  6. #26
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    30
    Beiträge
    656
    Ich habe gedacht, du benutzt einen C++ Compiler? Warum funktioniert das Schlüsselwort operator, wenn new nicht funktioniert und seit wann kann man Operatoren außerhalb von Klassen überladen?

    Außerdem IST ein Array eine Art Pointer, deswegen bräuchtest du dafür keinen speziellen Operator.

    Ich denke, du hast immer noch etwas grundlegend falsch verstanden. Mein Vorschlag: Entweder du kaufst dir ein C++ Buch und lernst die Sprache richtig oder du kommst mit C aus und verwendest kein C++.
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

Seite 3 von 3 ErsteErste 123

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress