Hallo, Ich frage mich wie Vererbung funktioniert wenn man ein in einzene cpp/h-Dateien augfeteiltes projekt hat. In meinem fall ist der Kunde eine spezielle Person und soll von ihr erben. Ich denke so: main.cpp #include main.h main.h #include person.h person.cpp #include person.h person.h
1 | #ifndef Person_h
|
2 | #define Person_h
|
3 | |
4 | #include "Kunde.h" |
5 | |
6 | class Person |
7 | {
|
8 | protected:
|
9 | string name; |
10 | string adresse; |
11 | public:
|
12 | Person(string thename, string theaddresse); |
13 | ~Person(); |
14 | string getName(); |
15 | string getAdresse(); |
16 | void setName(string thename); |
17 | void setAdresse(string theadresse); |
18 | };
|
19 | #endif
|
kunde.cpp #include kunde.h kunde.h
1 | #ifndef Kunde_h
|
2 | #define Kunde_h
|
3 | |
4 | #include <string> |
5 | using namespace std; |
6 | |
7 | #include "Person.h" |
8 | |
9 | class Kunde:public Person |
10 | {
|
11 | private:
|
12 | string ort; |
13 | int kundennummer; |
14 | bool leihgeb; |
15 | public:
|
16 | Kunde(string thename, string theadresse, string theort,int thekundennummer, bool theleihgeb); |
17 | ~Kunde(); |
18 | void setOrt(string theort); |
19 | void setKundennummer(int kn); |
20 | void setleihgeb(bool leih); |
21 | string getOrt(); |
22 | int getKundennummer(); |
23 | bool getleihgeb(); |
24 | };
|
25 | #endif
|
Eventuell ist diese struktur falsch? Ich bekomme folgende Fehler: in der Person.h Person.h:4, from Person.cpp In file included from Person.cpp in der Kunde.h expected class-name before '{' token Bin nun überfragt was der Grund sein könnte, denn in dem einzigen ausprogrammierten Beispiel welches ich habe ist ausser dem :vererbende_klasse nichts spezielles vorgesenen um erben zu können. Jedoch ist dieses Beispiel in nur einer Datei realisiert. grüße Matze