Programm mit Vererbung bringt Fehlermeldung
-
Hallo Community!
Ich soll ein einfaches Programm zur Vererbung schreiben, nur leider sagt mir die Fehlermeldung
Aufgabe32.cpp: In function âint main()â:
Aufgabe32.cpp:65: error: invalid conversion from âintâ to âconst charâ
Aufgabe32.cpp:65: error: initializing argument 1 of âstd::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]â
Aufgabe32.cpp:66: error: invalid conversion from âintâ to âconst charâ
Aufgabe32.cpp:66: error: initializing argument 1 of âstd::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]ânichts.
Hier mal das Programm
#include <iostream>
#include <string>using namespace std;
class Person{ // Oberklasse
private:
string vorname;
string nachname;
public:
Person(string Vorname,string Nachname):vorname(Vorname),nachname(Nachname){}
string get_vorname(){return vorname;}
string get_nachname(){return nachname;}
};class Klinikmitarbeiter{ // Oberklasse
private:
string personalnummer;
public:
Klinikmitarbeiter(string Personalnummer)
:personalnummer(Personalnummer){}
string get_personalnummer(){return personalnummer;}
};class Patient: public Person {
private:
string krankenkasse;
int patientennummer;public:
Patient(string Vorname, string Nachname,string k, int p)
:Person(Vorname,Nachname),krankenkasse(k),patientennummer(p){}
};class Arzt: public Person, public Klinikmitarbeiter {
private:
string fachgebiet;public:
Arzt(string Vorname,string Nachname,string Personalnummer,string f)
:Person(Vorname,Nachname),Klinikmitarbeiter(Personalnummer),fachgebiet(f) {}
};class Pfleger: public Person, public Klinikmitarbeiter{
private:
string station;public:
Pfleger(string Vorname, string Nachname, string Personalnummer,string s)
:Person(Vorname,Nachname),Klinikmitarbeiter(Personalnummer),station(s){}
};int main() {
Patient pa("Meike", "Muster","AOK",535353); // Zeile 63
Person pe(pa); // Zeile 64
Arzt a("John", "Dorian", 12345, "Allgemeinmediziner"); // Zeile 65
Pfleger pf("Peter", "Paulsen", 54321, "A1"); // Zeile 66
Klinikmitarbeiter m(pf); // Zeile 67// cout << pa << pe << a << pf << m << endl; // Zeile 69
return 0;
}Wäre für Hilfe sehr dankbar.:-)
Caro
-
sorry das da nichts eingerückt ist, habs erst zu spät bemerkt
-
Du kannst deinen Beitrag editieren. Verwende auch die
...Tags.
-
Der Konstruktor zu Arzt sieht so aus:
Arzt(string Vorname,string Nachname,string Personalnummer,string f)Du machst aber:
Arzt a("John", "Dorian", 12345, "Allgemeinmediziner");Du meinst wohl:
Arzt a("John", "Dorian", "12345", "Allgemeinmediziner");Übrigens sehr löblich, dass du einen string für die Personalnummer genommen hast, viele Anfänger hätten da fälschlicherweise zu einem Zahlentyp gegriffen

-
Super danke!!Anhand der Fehlermeldung hätt ich das nie entdeckt. Super jetzt isse weg