Klasseninhalt



  • Guten Abend 😃

    class computer {
        public:
    
        private:
        const int ram;
        const int GHz;
        const string prozessor;
    };
    

    so ich bin gerade aufgestanden und hab ein bisschen schon vorarbeiten wollen,doch nun stehe ich vor einen kleinem/großen Problem: Ich kann keine Klassen definieren 👎. So,zuerst dachte ich mir,dass man ein Konstantes Objekt intialisieren muss und danach hab ich bemerkt,dass man es eigentlich intialisieren muss,aber nur in "keinen Klassendefinitionen".So hab ich alle Werte entfernt,da nur eine Fehlermeldung erschien.

    Vom public: brauche ich nicht mal zu reden 🙄, denn ich schrieb
    Ich weiss nicht,wie ich da anfangen soll.

    public:
    const int shoot;
    const int headshoot;
    

    Wie könnte ich das alles intialisieren?
    In der Klasse geht es nicht,also muss es irgendwie anders gehen 😕

    Ich hoffe,dass ihr mir ein bisschen helfen könnt *g*

    Mfg. Primer





  • Danke,aber da stand nicht das,was ich gesucht habe...

    Dies hatte ich gesucht,jedoch nicht gefunden,dass man sofort in einer Klasse intialisieren kann und zwar mit dem richtigen Wert:

    sondern wir können gleich die richtigen Werte verwenden.

    Soetwas wie

    class Klasse
        {
        private:
          int& r;
          int const c;
        public:
          Klasse(int i)
          : r(i), c(i)
          {
          }
        };
    

    veratet mir eigentlich nur das Grundwissen,aber die Intialisierung zbsp.
    int a = 25; nicht 😞

    Primer 😉



  • Hallo,

    ich hab leider keine Ahnung, was genau dein Problem ist. Also wenn du es präzisieren könntest, dann könnten wir dir vllt. auch helfen. 🙂

    MfG

    GPC



  • Sind die Werte für jedes Objekt unterschiedlich? Wenn nein, dann kannst du auch static const int verwenden.

    private: 
    static const int meineKonstante = 15;
    

    Ansonsten wirst du um die Initalisierungsliste nicht herumkommen.



  • GPC schrieb:

    Hallo,

    ich hab leider keine Ahnung, was genau dein Problem ist. Also wenn du es präzisieren könntest, dann könnten wir dir vllt. auch helfen. 🙂

    MfG

    GPC

    Also wie kann ich einer variable einen Wert zuweisen,bsp.:

    class gpc {
    public:
    
    private:
    const int ram = 2210;
    const char buch = 'a';
    const string("Hallo");
    
    string abc="LoL";
    };
    

    Sid2K6 schrieb:

    Sind die Werte für jedes Objekt unterschiedlich? Wenn nein, dann kannst du auch static const int verwenden.

    private: 
    static const int meineKonstante = 15;
    

    Ansonsten wirst du um die Initalisierungsliste nicht herumkommen.

    Aber wenn

    private: 
    const int meineKonstante = 15;
    

    (ohne static) nicht geht,warum soll es nach static gehen?

    Primer 😃



  • Primer schrieb:

    class gpc {
    public:
    
    private:
        const int ram = 2210;
        /* ... */
    };
    

    Mit etwas geistiger Anstrengung könnte man von

    class Klasse
    {
    private:
        int& r;
        int const c;
    public:
        Klasse(int i) : r(i), c(i)
        {
        }
    };
    

    auf

    class Klasse {
    private:
        const int ram;
        /* ... */
    public:
        Klasse() : ram(2210)
        {
        }    
    };
    

    kommen, oder?

    Aber wenn

    private: 
    const int meineKonstante = 15;
    

    (ohne static) nicht geht,warum soll es nach static gehen?

    Weil es im Standard steht?



  • Normale Member gehören zu einem bestimmten Objekt, also mußt du jeweils beim Anlegen des Objekts ihren Wert festlegen. Statische Member gehören der gesamten Klasse, die werden einmal in deinem Programm angelegt und gefüllt und können dann von überall genutzt werden.


Anmelden zum Antworten