Klassendeklaration - irgendwas läuft da gehörig schief
-
Moinsen
ich bräuchte mal dringend Hilfe, stehe nämlich absolut aufm Schlauch:
Schreiben wollte ich einen "Bruchrechner", wie gehabt zu Übungszwecken.
Dazu habe ich eine Klasse "Bruch", die auch einwandfrei funktioniert, und wollte nun eine Klasse Rechner schreiben, die Brüche verrechnen kann. So sieht die rechner.h aus:include "bruch.h" class Rechner { public: Rechner(); ~Rechner(); void multiplizieren(Bruch, Bruch); void dividieren(Bruch, Bruch); void summieren(Bruch, Bruch); void subtrahieren(Bruch, Bruch); protected: Bruch bErgebnis; };und so die rechner.cpp:
#include "rechner.h" Rechner::Rechner() { bErgebnis.sZaehler(0); bErgebnis.sNenner(1); } Rechner::~Rechner() { } void Rechner::dividieren(Bruch Divident, Bruch Divisor) { Rechner::multiplizieren(Divident, (Divisor.kehrwert())); } void Rechner::multiplizieren(Bruch Faktor1, Bruch Faktor2) { bErgebnis.sZaehler(Faktor1.gZaehler()*Faktor2.gZaehler()); bErgebnis.sNenner(Faktor1.gNenner()*Faktor2.gNenner()); } void Rechner::summieren(Bruch Faktor1, Bruch Faktor2) { bErgebnis.sNenner(Faktor1.gNenner()*Faktor2.gNenner()); bErgebnis.sZaehler((Faktor1.gZaehler()*Faktor2.gNenner())+(Faktor2.gZaehler()*Faktor1.gNenner())); bErgebnis.kuerzeVoll(); } void Rechner::subtrahieren(Bruch Faktor1, Bruch Faktor2) { bErgebnis.sNenner(Faktor1.gNenner()*Faktor2.gNenner()); bErgebnis.sZaehler((Faktor1.gZaehler()*Faktor2.gNenner())-(Faktor2.gZaehler()*Faktor1.gNenner())); bErgebnis.kuerzeVoll(); }Fehler beim Kompilieren zeigt er wie folgt an: (Zeilen und Dateipfade entfernt)
In file included from rechner.cpp
expected constructor, destructor, or type conversion before string constant
expected,' or;' before string constant
Rechner' has not been declared ISO C++ forbids declaration ofRechner' with no type
In functionint Rechner()':bErgebnis' undeclared (first use this function)Und noch ne Menge anderer, die - wie ich vermute - auf den selben Fehler hindeuten.
Nur wo ist der Fehler?
Vielen Dank schon mal für die Antworten
Panke
-
include "bruch.h"das # vergessen im Code oder ist es beim kopieren in den Post verloren gegangen?
-
Ich gehe mir dann mal ein tiefes Loch suchen und mich verkriechen.
Danke schön.
Panke