Initialisierung von Klassenvariablen in der Oberklasse



  • Hallo,

    habe ich die Header-Datei von FestSpar.h richtig definiert?
    Ich möchte in ihr nur ein Konstruktor haben, der dann in der .cpp-Datei die geerbte Methode(setVerf(bool x)) von Spar aufruft.
    Der Compiler meint, dass es in der FestSpar.cpp keine Methode 'setVerf' gibt.
    Wie rufe ich eine geerbte Methode auf und wo erkennt ihr noch Fehler?
    Über Feedback würde ich mich sehr freuen!

    ----------
    FestSpar.h
    ----------
    class FestSpar : Spar {
    public:
    FestSpar();
    };

    ------------
    FestSpar.cpp
    ------------
    #include <ioStream>
    #include <cstring>
    #include "FestSpar.h"
    using namespace std;

    FestSpar::FestSpar() {
    setVerf(false);
    }



  • Das scheint so schon in Ordnung zu sein. Kann es sein, dass setVerf in Spar private ist?



  • in FestSpar.h fehlt

    #include "Spar.h"



  • Zeig mal Spar.h (oder wo auch immer du sonst die Spar -Klasse definiert hast).

    Edit: Noch ein paar BTWs:

    - Kein using namespace in Headern!
    - Bitte Code-Tags verwenden (den Code mit der Maus markieren und unten auf den Button "C/C++" (der erste) klicken)
    - Ich glaube, vielleicht willst du public von Spar erben?
    - Wieso inkludierst du Header, die du nicht brauchst?
    - Du benutzt doch auch Include-Guards?



  • - Ich glaube, vielleicht willst du public von Spar erben?

    dieser Punkt war es, ich habe nicht public von Spar geerbt.
    Vielen Dank für eure Hilfe! Sehr nett 🙂


Anmelden zum Antworten