Zum Inhalt springen

Problem mit Vererbung von Klassen


Handsup18

Empfohlene Beiträge

Hallo, haben grad in der Schule mit der Vererbung angefangen.

Nun hab ich die uns gestellte Aufgabe auch programmiert und bin mir sicher das dies so Funktioneiren muss.

Nur bekomm ich beim Ausführen immer die Fehlermeldung "Typname erwartet".

Kann sich mal jemand das Prog anschauen und evtl. einen Tipp geben was noch Falsch ist.

In der Aufgabe musste man zuerst einen normalen Zähler Programmieren (TCounter) der vor- und rückwärts zählt. Das ist kein Problem, die Aufgabe hat Funktioneiert.

Danach hat man eine Kindklasse anlegen müssen die den Zählwert BCD-codiert ausgibt. Hier hab ich nun das Problem mit der Meldung.

hier der Inhalt der Counter.h...

------------------------------------------------

class TCounter

{

protected:

int ZaehlWert ;

public:

void CountUp();

void CountDown();

void Reset();

int GetCounterValue();

TCounter();

};

------------------------------------------------

Counter.cpp

------------------------------------------------

#include "Counter.h"

//Deklaration Konstrukter

TCounter::TCounter()

{

ZaehlWert=0;

}

void TCounter::CountUp()

{

ZaehlWert++;

}

void TCounter::CountDown()

{

ZaehlWert--;

}

void TCounter::Reset()

{

ZaehlWert = 0;

}

int TCounter::GetCounterValue()

{

return ZaehlWert;

}

------------------------------------------------

und hier der von BCDCounter.h

------------------------------------------------

#include "math.h"

class TBCDCounter : public TCounter

{

int Zahl;

int buf[4];

public:

TBCDCounter();

int GetBCDCounter();

};

------------------------------------------------

BCDCounter.cpp

------------------------------------------------

#include "BCDCounter.h"

#include "Counter.h"

TBCDCounter::TBCDCounter() //: TCounter()

{

}

int TBCDCounter::GetBCDCounter()

{

if (Zahl < 9)

{

return Zahl;

}

if (Zahl < 99)

{

int ex = 1;

buf[0] = Zahl/pow(10,ex);

buf[1] = Zahl - (buf[0]*pow(10, ex));

buf[0] = buf[0] << 4;

return (buf[0] | buf[1]);

}

if (Zahl < 999)

{

int ex = 2;

buf[0] = Zahl/pow(10, ex);

buf[1] = (Zahl - (buf[0]*pow(10, ex)))/pow(10, ex-1);

buf[2] = Zahl - (buf[0]*pow(10, ex)) - (buf[1]*pow(10, ex-1));

buf[0] = buf[0] << 8;

buf[1] = buf[1] << 4;

return ((buf[0] | buf[1]) | buf[2]);

}

if (Zahl < 9999)

{

int ex = 3;

buf[0] = Zahl/pow(10, ex);

buf[1] = (Zahl - (buf[0]*pow(10, ex)))/pow(10, ex-1);

buf[2] = (Zahl - (buf[0]*pow(10, ex)) - (buf[1]*pow(10, ex-1))) / pow(10, ex-2) ;

buf[3] = Zahl - (buf[0]*pow(10, ex)) - (buf[1]*pow(10, ex-1)) - (pow(10, ex-2)) ;

buf[0] = buf[0] << 12;

buf[1] = buf[1] << 8;

buf[2] = buf[2] << 4;

return ((buf[0] | buf[1]) | (buf[2] | buf[3]));

}

}

------------------------------------------------

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nur bekomm ich beim Ausführen immer die Fehlermeldung "Typname erwartet".

Wo bekommst Du den Fehler? Die Fehlermeldung ist jetzt so nicht direkt ersichtlich. Außerdem ist es immer hilfreich, wenn Du dazu sagst unter welcher Plattform und mit welchem Kompiler inkl Version Du entwickelst.

Ich hab jetzt so keine Lust Deine Code mir selbst zusammen zu kopieren und zu testen. Stell ein Zip mit den entsprechenden Dateien rein, dann kann man das auch testen.

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...