von einer Klasse erben



  • Hallo,

    ich habe eine - wahrscheinlich - relativ blöde Frage. Momentan habe ich 3 verschiedene Klassen, wobei Klassen von einer Klasse abgeleitet werden sollen.
    Nun habe ich 3 verschiedene Header Dateien.

    SVehicle.h

    #ifndef SVEHICLE_H
    #define SVEHICLE_H
    
    #include <string>
    
    class SVehicle
    {
        public:
            SVehicle();
            ~SVehicle();
        protected:
        private:
    };
    
    #endif // SVEHICLE_H
    

    SLkw.h

    #ifndef SLKW_H
    #define SLKW_H
    
    #include "SVehicle.h"
    
    class SLkw : public SVehicle
    {
        public:
            SLkw();
            ~SLkw();
        protected:
        private:
    };
    
    #endif // SLKW_H
    

    SPkw.h

    #ifndef SPKW_H
    #define SPKW_H
    
    #include "SVehicle.h"
    
    class SPkw : public SVehicle
    {
        public:
            SPkw();
            ~SPkw();
        protected:
        private:
    };
    
    #endif // SPKW_H
    

    Nun habe ich immer die Fehlermeldung expected class-name before '{' token bekommen. Also habe ich in den Klassen SLkw und SPkw

    #include "SVehicle.h"
    

    geschrieben.

    Der Fehler ist zwar nun verschwunden, aber ob das richtig ist, weiß ich nicht genau. Ich finde es etwas komisch - warum, weiß ich nicht. 😛

    Ist das so nun korrekt?



  • Ja das ist korrekt. Wenn du von einer Klasse erben willst musst dem Compiler schließlich die Klasse bekannt sein von der du erben willst. Also brauchst du das include.



  • Ok, danke Dir!


Log in to reply