Erstes OOP Projekt - Erschaffung einer Instanz namens Person - gelöst
-
Also ich habe die vermeintlichen (Leichtsinns-) Fehler ausgebessert, dennoch kommen in der "Person APP.cpp" die Meldungen
Error: "class "Person"" hat keinen Member "setPostleitzahl" Error: Der Bezeichner ""postcode"" ist nicht definiertIch sehe es echt nicht, wo der Fehler ist...
-
silent_max schrieb:
Also ich habe die vermeintlichen (Leichtsinns-) Fehler ausgebessert, dennoch kommen in der "Person APP.cpp" die Meldungen
Error: "class "Person"" hat keinen Member "setPostleitzahl" Error: Der Bezeichner ""postcode"" ist nicht definiertIch sehe es echt nicht, wo der Fehler ist...
Ohne Quellcode sehe ich hier auch nichts

-
Also hier mal der gesamte Quellcode:
In "Klasse Person.h"
#pragma once #include <string> using namespace std; class Person { private: string Vorname; string Nachname; int Alter; int Postleitzahl; public: Person(); ~Person(); string Vorname(); string Nachname(); int getAlter(); int Postleitzahl(); void setVorname(string); void setNachname(string); void setAlter(int); void setPostleitzahl(int); };In "Klasse Person.cpp":
#include <iostream> #include "Klasse Person.h" using namespace std; Person(void) { } ~Person() { } string Person::getVorname() { return Vorname; } string Person::getNachname() { return Nachname; } int Person::getAlter() { return Alter; } int Person::getPostleitzahl() { return Postleitzahl; } void Person::setVorname(string vn) { Vorname = vn; } void Person::setNachname(string nn) { Nachname = nn; } void Person::setAlter(int age) { Alter = age; } void Person::setPostleitzahl(int postcode) { Postleitzahl = postcode; }In "Person APP.cpp" habe ich geschrieben:
#include <iosteram> #include "Klasse Person.h" using namespace std; #define MAX_ANZAHL 2 void einePerson() { string str; Person Passant; cout << "Wie ist Ihr Vorname?\n"; cin >> str; Passant.setNachname(str); cout << "Wie ist Ihr Nachname?\n"; cin >> str; Passant.setNachname(str); cout << "Wie alt sind Sie?\n" int age; cin >> age; Passant.setAlter(age); cout << "\n"; cout << "Das haben Sie eingegeben: \n"; cout << "\n"; cout << "Vorname: " << Passant.getVorname() << "\n"; cout << "Nachname: " << Passant.getNachname() << "\n"; cout << "Alter: " << Passant.getAlter() << "\n"; } void mehrerePersonen() { Person Personen[MAX_ANZAHL]; for (int i = 0; i < MAX_ANZAHL; i++) { string str; cout << "Wie ist Ihr Vorname?\n"; cin >> str; Personen[i].setNachname(str); cout << "Wie ist Ihr Nachname?\n"; cin >> str; Personen[i].setNachname(str); cout << "Wie alt sind Sie?\n"; int age; cin >> age; Personen[i].setAlter(age); cout << "Wo wohnen Sie? Geben Sie Ihre Postleitzahl an!\n"; int Postleitzahl; cin >> Postleizahl; Personen[i].setPostleitzahl(postcode); } } int main() { //einePerson(); mehrerePersonen(); return 0; }Ich weiß echt nicht, wo der Fehler sein kann...
-
puh also mein Compiler spuckt mit 20 Fehler oder so aus. Es fehlen ein paar get-Funktionen. Ich weiß auch nicht, ober Header ein Leerzeichen enhalten dürfen? Konstruktor und Destruktor wurden nicht definiert. Bei getAlter ist ein hast du "get Alter" geschrieben, mit dem Leerzeichen.

-
[quote="silent_max"
int Postleitzahl; cin >> Postleizahl; Personen[i].setPostleitzahl(postcode);Ich weiß echt nicht, wo der Fehler sein kann...[/quote]
In diesen drei Zeilen.
-
Sorry, habe ich echt nicht mehr gesehen...
Jetzt wird mir nur noch "postcode" rot unterringelt...
Error: Der Bezeichner ""postcode"" ist nicht definiertEdit:
Ich habe doch in "Klasse Person.cpp" folgenden Code geschrieben:
void Person::set Postleitzahl(int postcode) { Postleitzahl = postcode; }Ich verstehe an der Stelle nicht, warum mir dann in "Person APP.cpp" dann "postcode" rot unterringelt wird...
-
silent_max schrieb:
Sorry, habe ich echt nicht mehr gesehen...
Jetzt wird mir nur noch "postcode" rot unterringelt...
Error: Der Bezeichner ""postcode"" ist nicht definiertJOa weil postcode nirgendwo definiert ist. Musst noch wo definieren, in der Funktion.
-
Nathan schrieb:
silent_max schrieb:
int Postleitzahl; cin >> Postleizahl; Personen[i].setPostleitzahl(postcode);Ich weiß echt nicht, wo der Fehler sein kann...
In diesen drei Zeilen.
-
Du wirst dir viele Fehler und Zeit sparen, wenn du von vornerein die Signaturen der Funktionsdeklaration und -definition identisch hälst.
-
JOa weil postcode nirgendwo definiert ist. Musst noch wo definieren, in der Funktion.
Siehe meinen Edit...
-
Ah joa, er meckert aber in der Funktion "mehrerePersonen" und nicht in "setPostleitzahl". In "setPostleitzahl" sind keine Fehler.
-
...
-
Es soll eine Auflistung persönlicher Daten eines oder mehrerer Menschen werden...
-
...
-
Schraub doch deinen STL-Gebrauch runter wenn du ihm Code vorsetzt - was soll das bringen, außer ihn nur noch weiter verwirren.
Außerdem will er wohl eher Hilfe bei seinem Code, den er zum Lernen schreibt ...
-
Ethon schrieb:
Schraub doch deinen STL-Gebrauch runter wenn du ihm Code vorsetzt - was soll das bringen, außer ihn nur noch weiter verwirren.
Außerdem will er wohl eher Hilfe bei seinem Code, den er zum Lernen schreibt ...Ich verstehe nur noch Bahnhof... Die Verwirrung ist komplett ... Ich werde es morgen einmal im Unterricht ansprechen ... mal schauen, ob mein Dozent auf mich hört...
-
silent_max schrieb:
Ethon schrieb:
Schraub doch deinen STL-Gebrauch runter wenn du ihm Code vorsetzt - was soll das bringen, außer ihn nur noch weiter verwirren.
Außerdem will er wohl eher Hilfe bei seinem Code, den er zum Lernen schreibt ...Ich verstehe nur noch Bahnhof... Die Verwirrung ist komplett ... Ich werde es morgen einmal im Unterricht ansprechen ... mal schauen, ob mein Dozent auf mich hört...
Swordfish hat in seinem ersten Post alle deine Dateien zusammengefüpgt. Und da scheint es auch zu timmen.