Vererbung, protected



  • Hallo,

    ich habe folgenden Code und zwei Fehler:

    [cpp]//

    #include <iostream>
    #include <cstdlib>
    using namespace std;

    class Mammal
    {
    protected:
    int age;

    public:
    void setage(int value) { age=value; } // Fehler:
    // 'void Mammal:setage(int)' is inaccessible
    int getage() const { return age; }
    };

    class Dog : Mammal
    {
    };

    void main()
    {
    Dog donald;
    donald.setage(5); // Fehler: within this context

    cout<<'\n'<<'\n';
    system("PAUSE");
    }

    Mein Buch teil mir jedoch mit, dass Dog laut protected die variable 'age' geerbt hat. Wo liegt da denn das Problem?

    Danke.



  • Ich hab den Fehler rausgefunden! Lag bei

    class Dog : Mammal // falsch
    class Dog : public Mammal // richtig :)
    

    mfg



  • bei klassen ist by default alles private
    also auch die vererbung


Anmelden zum Antworten