Probleme mit Klassen und Aggregation



  • Ich habe ein Programm geschrieben um Aggregationen und Konstruktoren zu testen. Nun bekomme ich folgende Fehlermeldung beim Compilen:

    cannot call member function `void Fuhrpark::fahrzeugHinzufuegen(Fahrzeug)' without object

    class Fahrzeug
    {
    public:    
              Fahrzeug(int,int);
              Fahrzeug(void);
    
    private:  int baujahr;
              int ps;
    
    };
    
    class Fuhrpark
    {
    private:   Fahrzeug* zeiger;
               int anzahl;
    
    public:    Fuhrpark(void);
               void fahrzeugHinzufuegen(Fahrzeug);
    
    };
    
    Fuhrpark::Fuhrpark(void)
    {
         cout << "Fuhrpark Konstruktor" << endl;
         anzahl=0;
         zeiger= new Fahrzeug[100];
    }
    
    void Fuhrpark::fahrzeugHinzufuegen(Fahrzeug f)
    {
         anzahl++;
         zeiger[anzahl]=f;
    }
    
    Fahrzeug::Fahrzeug(int baujahr, int ps)
    {
         this->baujahr=baujahr;
         this->ps=ps;
    }
    
    Fahrzeug::Fahrzeug(void)
    {
         cout << "f";
         baujahr=0;
         ps=0;
    }
    
    int main()
    {
        Fuhrpark f;
        Fahrzeug hallo(1982,90);
        Fuhrpark::fahrzeugHinzufuegen(hallo);
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    Welchen Fehler habe ich denn da gemacht?

    Gruß und Danke



  • muss heissen

    f.fahrzeugHinzufuegen(hallo);
    

    Kurt



  • Danke dir. Hätte mir auch auffallen müssen 😞


Anmelden zum Antworten