Klassenerstellung- Funktionen konstant setzen



  • Hi,
    ich versuche mich gerade an der Erstellung einer Klasse und habe dazu folgenden Code geschrieben:

    #include<iostream>
    
    using namespace std;
    
    class Employee
          {
                  public:
                         int GetAge()const;
                         void SetAge( int age);
                         int GetSalary() const;
                         void SetSalary(int salary);
                         int GetYearsofservice() const;
                         void SetYearsofservice(int yearsofservice);
    
                  private:
                          int Age;
                          int Salary;
                          int Yearsofservice;
          };
    
    main ()
    {
           int age, salary, yearsofservice;
           Employee Sam;
           Employee Sally;
           Sam.SetAge(35);
    //       Sam->SetSalary(35000);
    //      Sam->SetYearsofservice(10);
           Sally.SetAge(40);
    //       Sally.SetSalary(25000);
    //       Sally.SetYearsofservice(18);
    
           cout << "Sam und Sally arbeiten beide in der Firma X/n";
           cout << "Sam´s Daten:\n Alter:" << Sam.GetAge() <<"\n";
    }
    
          int Employee::GetAge()
              {
                                return Age;
              }
    
          void Employee::SetAge(int age)
               {
                                 Age = age;
               }
    

    wenn ich nun in der Klassendekleration GetAge nicht mehr const setze funktioniert es. wiekann ich ereichen, dass GetAge konstant ist und das programm trotzdem fuktioniert?
    hab auch schon in schaum´s nachgeschaut, aber irgentwie klappt es nicht.



  • Zeile 37:

    int Employee::GetAge() const



  • ok, das war einfach,
    hatte ich wohl übersehen. vielen dank



  • Einfach die Fehlermeldung etwas genauer lesen 😉


Anmelden zum Antworten