Problem bei Klassenprogrammierung
-
Hallo,
Gegeben sei folgende Dateien :
- Klassenheader "human.h"
- Klasse "human.cpp"
- Datei "humanMain.cpp"
- Klassenheader "Delta.h"
- Klasse "Delta.cpp"In "human.h" ist ein Object "human" definiert worden
(entsprechender Objekt- und FunktionenRumpf in "human.cpp").In "Delta.cpp" habe ich eine Funktion "void human::atmen(){...}"
geschrrieben (in "Delta.h" nur die Zeile "void atmen();" ).Der Compiler meckert nicht.
Nun schreibe ich in "Delta.cpp" eine Funktion "void human::schlafen(){..}"
(in "Delta.h" nur die Zeile "void schlafen();"),
diesmal meckert aber der Compiler mit der Fehlermeldung"error: no `void human::schlafen()' member function declared in class `human'"
Wieso gibt es bei der Funktion "schlafen()" eine Fehlermeldung, bei der Funktion "atmen()" jedoch nichts .. ??
VIELEN DANK im Voraus
PS: Wie sieht die PotenzFunktion in C++ aus, wenn die Parameter
das Format lond double, und nicht double haben ??
-
weil die human.h wahrscheinlich eine memberfkt namens atmen beinhaltet, aber keine schlafen
du kannst in der delta.h ruhig atmen() hinschreiben, dies hat dann aber nichts mit der delta.cpp human::atmen() zu tun ( stichwort namespace )
also schreibst du am besten in die human.h auch ein schlafen und gut ist.
soviel zu deinem prob.
aber warum schreibst du die sachen nicht alle in die human.cpp wo sie auch räumlich hingehören??? code zu memberfkt. sollten nicht auf zig dateien verteilt werden.
-
Das Problem ist gelöst.
Habe die Datei human.h nicht berücksichtigt ..Jedoch möchte ich immer noch wissen, wie ich in C++ eine
Potenz x hoch y ausrechnen lassen kann, wenn sowohl x als auch
y vom Datentyp long double (und nicht "nur" double) sind ?