GET & SET Beschreiben...



  • Hi...

    könnte mir vielleicht jemand die funktionalität und syntax get und set erklären und mir vielleicht auch ein kleines beispiel zeigen?



  • get und set sind i.d.r. dazu da um werte einer privaten Variable zu lesen / schreiben.

    class cat
    {
      int m_age;
    
    public:
       int  get_age();
       void set_age(int age);
    
    };
    
    void cat::set_age(int age)
    {
      if(age > 0)
        m_age = age;
      else
       m_age = 1;
    }
    
    int cat::get_age()
    {
      return m_age;
    }
    
    cat c;
    
    c.set_age(12);
    cout<<c.get_age();
    
    c.m_age = 12; // verboten
    

    Du kannst bei set_age() dafür sorgen das nur ein legales alter gesetzt wurde.
    Mit hilfe der get set verhindrst Du Änderungen an Deinem Objekt von denen DU nix weisst.

    Du kannst auch Überladen nutzen:

    class cat
    {
      int m_age;
    
    public:
       int  age();
       void age(int age);
    
    };
    
    cat c;
    c.age(12);
    cout<<c.age();
    

Anmelden zum Antworten